消息传输的高可靠性在即时通讯系统中是最为基础、也是最核心的部分之一,同时也是衡量通讯系统的质量的重要指标。本文主要描述常见通讯系统模型的实现原理,分析影响消息传输可靠性的常见问题,并介绍有度即时通服务体系是如何通过架构及技术细节实现高可靠的消息送达机制。
快递式系统模型是常见的即时通讯系统模型,主要结构如下图所示:
该模型的消息发送过程不是一个完整事务,以下这些场景将出现丢消息的问题:
1、 ClientA将发消息送给Server,Server收到后回复ClientA发送成功,后续中转由Server保障,此时如果Server进程重启,内存中的消息没有存储,将出现消息丢失。
2、 ClientA将消息成功发送给Server,Server转发给ClientB,ClientB网络层收到后回复接收成功,但ClientB尚未将消息保存到数据库,此时ClientB进程关闭,也将出现消息丢失;
3、 ClientA将消息成功发送给Server,Server发现ClientB为离线,将消息发送给离线消息服务,离线消息服务回复接收成功,但离线消息未保存进磁盘前进程异常退出,也将出现丢失消息;
后面出现了一种改进模型,这种改进可以保障网络层不丢消息,但从整体系统架构来看依然有漏洞,网络程序设计架构大体如下:
即时通讯系统的消息到达率如何保障
最新推荐文章于 2021-07-16 10:26:52 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)