即时通讯系统的消息到达率如何保障

本文探讨了即时通讯系统中保障消息到达率的重要性,分析了快递式系统模型存在的丢消息问题,并介绍了有度即时通如何借鉴邮件服务模型,通过微服务架构、数据存储技术和消息重试机制,实现高可靠的消息送达。系统采用MySQL和Redis+Leveldb进行消息存储,确保消息的持久化和容灾恢复能力。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值