野火IM互通方案

一般情况下,一个IM服务都会是一个孤岛,仅限于这个IM服务内的用户之间通讯。在野火的客户里,有很多大型企业或者事业单位,内部有多套隶属于不同部门或者分公司的独立IM服务,他们迫切需要内部的IM之间能够相互打通。

因此野火的小伙伴们针对专业版IM服务开发出了IM服务互通功能,简称Mesh,大概架构如下: Mesh架构

每个IM服务都额外部署一个mesh-bridge服务,这个服务与其他IM域进行互联互通。这样整个Mesh内的用户都可以互通了。

整个系统没有中心节点,但需要有个管理者或者协调者来处理节点的加入还有域ID的分配问题。这样既可以保证内部多个IM之间的互通,又能满足对外的封闭性,确保数据安全。

在客户端的表现上,有点儿类似微信的企业微信,其他企业的用户后面会有标黄的企业名称。

因为专业版IM服务和社区版IM服务交互流程上有不小的区别,暂时无法支持社区版。

如果有购买多套专业版IM服务的用户有需求此功能,需要把IM服务和SDK都升级到2024.7.1之后的版本,然后去Github或者码云上下载mesh-bridge服务部署。码云下载地址点击原文链接就可以看到,Github上有同名的项目。

某些功能做了舍弃,比如在线状态,阅读状态,因为跨网络同步这些信息时非常消耗资源且容易出错。不同IM服务之间的网络延迟也比同一个IM服务内部大好几个数量级,因此性能也会有不小的损耗。

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2024-12-13 10:38:59

results matching ""

    No results matching ""