很早就像做一个 IM, 现在闲下来了,让我来把他实现以下。
基础设施
- 服务器语言:
golang - 客户端支持:
flutter(android + ios),web,desktop - 内容支持:单聊、群聊、语音、视频、+ 插件化
- 服务器基础设施:
redis,mongodb,mq(暂时列上,可以自己写服务替代掉)
系统架构
- 通信协议
websocket -
消息接送服务器
- 支持
http发送消息 - 支持
ws发送/推送消息
- 支持
-
消息中转服务器
- 消息广播
-
redis保存连接信息,由中转服务器调度消息
由于客户端基础不深,慢慢探索。坚持下去。


