CIM免费版是一款提供给开发者们使用的IM即时通讯系统,这款软件为用户们提供了多种组件功能,我们可以通过这些组件来完成功能的扩展和定制,从而让你快速开发出命令行通讯工具。
CIM是一款面向开发者的IM即时通讯系统,命令行通讯工具,对开发者友好,提供了一些组件让开发者易于扩展和定制功能,可以实现IM即时通讯系统,适用于APP的消息推送中间件,IOT海量连接场景中的消息透传中间件等需求!
群聊
私聊
内置命令
聊天记录查询。
一键开启价值 2 亿的 AI 模式
使用 Google Prot ocol Buffer 高效编解码
根据实际情况灵活的水平扩容、缩容
服务端自动剔除离线客户端
客户端自动重连
延时消息
分组群聊
SDK 开发包
离线消息
协议支持消息加密
系统架构
CIM 中的各个组件均采用 SpringBoot 构建。
采用 Netty 构建底层通信。
Redis 存放各个客户端的路由信息、账号信息、在线状态等。
Zookeeper 用于 IM-server 服务的注册与发现。
cim-server
IM 服务端;用于接收 client 连接、消息透传、消息推送等功能。
支持集群部署。
cim-forward-route
消息路由服务器;用于处理消息路由、消息转发、用户登录、用户下线以及一些运营工具(获取在线用户数等)。
cim-client
IM 客户端;给用户使用的消息终端,一个命令即可启动并向其他人发起通讯(群聊、私聊)。
流程图
客户端向 route 发起登录。
登录成功从 Zookeeper 中选择可用 IM-server 返回给客户端,并保存登录、路由信息到 Redis。
客户端向 IM-server 发起长连接,成功后保持心跳。
客户端下线时通过 route 清除状态信息。