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