AI工具实战测评:谁才是行业王者?
2025/12/27 3:46:57
盒子IM是一个类似微信的聊天工具。后端采用springboot+netty实现,web端使用vue,移动端使用uniapp,支持私聊、群聊、离线消息、发送图片、文件、语音、emoji表情、视频聊天等功能。
| 模块 | 功能 |
|---|---|
| im-platform | 业务平台服务,负责处理来自用户的业务请求(http) |
| im-server | 消息推送服务,不依赖业务,负责将消息推送给用户(ws) |
| im-client | 消息推送sdk, 其他服务可集成此sdk与im-server通信 |
| im-common | 公共包,后端服务均依赖此包 |
| im-web | web页面 |
| im-uniapp | uniapp页面,可打包成app、h5、微信小程序 |
架构亮点:
无状态设计:im-server不存储业务数据,仅负责消息流转,支持水平扩展。
集群化部署:通过Redis实现节点间消息同步,支持万级并发。
当消息的发送者和接收者连的不是同一个server时,消息是无法直接推送的,所以我们设计出了能够支持跨节点推送的方案:
im:unread:${serverid},每个key的数据可以看做一个queue,每个im-server根据自身的id只消费属于自己的queue