默认

一套十万级TPS的IM综合消息系统的架构实践与思考

查看数: 44390 | 评论数: 2 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-06-28 00:30

正文摘要:

本文由作者jhon_11分享,即时通讯网收录时有大量修订和改动。 1、引言 如何设计一款高性能、高并发、高可用的im综合消息平台是很多公司发展过程中会碰到且必须要解决的问题。比如一家公司内部的通讯系统、各个互联 ...

评论

JackJiang 发表于 1 年前
引用:1462793455 发表于 2023-04-04 11:14
大佬有几个疑问希望您能够解答,非常感谢!
1. 消息分发服务维护的 link 连接应该是多个连接吧,以一个连 ...

1、它这个消息分布服务取的名字不太准确,它这里面的作用纯粹是作为各种消息落库或持久化前的一个解偶层而已,这个实现起来不需要搞复杂,因为这个做的好不好对客户端的体验没有太大的直接影响,最多影响离线消息和聊天记录的拉取。

2、理论上可以。但省了的话,那link就得加离线消息持久化这些处理逻辑了。

3、如果真要保证消息必达,那还真可以加一个qos机制,否则消息肯定是存在丢失的风险。

4、这其实是个小概率事件,恰好碰到了用户状态更新的这个时间差而已,可以不用太纠结,没有送达的消息最终存离线就好了。

5、其实就是消息落库前用mq解偶了而已,你看它的生产者和消费箭头分别从哪指过来,以及指到哪里去的。

6、它这个单聊和群聊服务应该只是逻辑是的区分而已。
1462793455 发表于 1 年前
大佬有几个疑问希望您能够解答,非常感谢!
1. 消息分发服务维护的 link 连接应该是多个连接吧,以一个连接池的形式维护每一个 link 服务,比如说一个link维护三条长连接,3个服务总共9条
2. 是否可以省略掉 消息分发服务,直接 link 《-》 link 呢?
3. 如果保证 link -》 消息分发 -》 link  消息必达不丢失呢,也实现 qos 机制吗。
4. 用户A首次连接在LinkA服务上,中途断线导致重连到了 LinkB ,在上述过程中依然有人在向用户A发送消息,这时的消息该如何处理呢?
用户有可能直接离线,也可能正在断线重连,Qos机制保证必达吗?如果对方离线呢消息分发服务去做离线存储吗?
5. 优化架构后的mq消息总线的作用是什么呢?
6. 单聊服务、群聊服务具体会做什么工作呢?

返回顶部