最近业余时间花了小三个月重构了 cim,也将版本和升级到了 v2.0.0,合并了十几个 PR 同时也新增了几位开发者。
其中有两位也是咱们星球里的小伙伴🎉
上次发版还是在五年前了:
因为确实已经很久没有更新了,在开始之前还是先介绍 cim 是什么。
这里有一张简单的使用图片:
同时以前也有录过相关的视频:
通过 cim 这个名字和视频可以看出,它具备 IM 即时通讯的基本功能,同时基于它可以实现:
现在要在本地运行简单许多了,前提是有 docker 就可以了。
1 | docker run --rm --name zookeeper -d -p 2181:2181 zookeeper:3.9.2 |
cim 的架构图如下:
主要分为三个部分:
同时还有元数据中心(支持扩展实现)、消息存储等组件;
不管是客户端、route、server 都是支持集群:
所以整个架构不存在单点,同时比较简单清晰的,大部分组件都支持可扩展。
为了更方便理解,花了一个流程图。
接下来介绍下本次 v2.0.0 有哪些重大变更,毕竟是修改了大的版本号。
这里列举一些重大的改动:
client-sdk
,代码耦合性更好且更易维护。RpcProxyManager
的 IOC 支持等特性。更多的部署和使用可以参考项目首页的 README,有详细的介绍。
cim 目前还需要优化的地方非常多;接下来的重点是实现 ACK,同时会完善一下通讯协议。
todo 列表我也添加了很多,所以非常推荐感兴趣的朋友可以先看看 todo 列表,说不定就有你感兴趣的可以参与一下。