国产IM一览,重点关注开源情况和技术栈。
1、Mars
- Mars:
- 腾讯微信团队开源跨平台客户端SDK
- 语言:C/C++
- 平台:Android、iOS、Mac、Windows
- 16.3K Stars
- 服务端Sample:
- 语言:Python
- 用于体验Mars客户端Demo
2、Turms
- Turms:个人开发者,号称支持十万到千万并发用户
- 服务端
- 客户端
- turms-client-js:JS客户端SDK,多标签页共享WebSocket连接
- turms-client-kotlin:Android客户端SDK
- turms-client-swift:iOS客户端SDK
- turms-client-dart:Flutter客户端SDK
- 客户端UI
- 不打算出带UI的客户端Demo
- 不支持离线推送
3、OpenIMSDK
- OpenIMSDK:IM创业公司
- 服务端
- 语言:Go
- 存储:MySQL、MongoDB、Redis、MinIO
- Redis 用于消息序列号生成
- MongoDB缓存最近消息,直接拉取消息
- MySQL存储全量历史消息
- MinIO存储文件
- 网络:Netty
- 架构设计:
- 写扩散模型
- 客户端
- Open-IM-SDK-Core:Go语言实现的跨端SDK
- iOS、Android、Flutter、Web、Uniapp封装