MQ不丢消息究竟是怎么实现的
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇文章为大家展示了MQ不丢消息究竟是怎么实现的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。通过消息队列(MsgQueue,MQ)发送任务和消息,万一MQ重
千家信息网最后更新 2026年10月31日MQ不丢消息究竟是怎么实现的
通过消息队列(MsgQueue,MQ)发送任务和消息,万一MQ重启了怎么办?能否保证MQ不丢消息? 今天就聊聊MQ的消息必达性架构与流程。 不丢消息,MQ架构设计的核心方向是什么? MQ要想消息必达,架构上有两个核心设计点: (1)消息落地; (2)消息超时、重传、确认;
为了实现上述两个核心点,MQ架构如何? 上图是一个MQ的核心架构图,可以分为三大块: (1)发送方 -> 左侧粉色部分; (2)MQ核心集群 -> 中间蓝色部分; (3)接收方 -> 右侧屎黄色部分;
粉色发送方又由两部分构成: (1)业务调用方; (2)MQ-client-sender; 其中后者向前者提供了两个核心API:
黄色接收方也由两部分构成: (1)业务接收方; (2)MQ-client-receiver; 其中后者向前者提供了两个核心API: 箭头1:发送方将消息投递给MQ,上半场; 箭头2:MQ将消息投递给接收方,下半场;
MQ消息可靠投递核心流程如何? MQ既然将消息投递拆成了上下半场,为了保证消息的可靠投递,上下半场都必须保证消息必达。 MQ消息投递上半场,MQ-client-sender到MQ-server流程见上图1-3: (1)MQ-client将消息发送给MQ-server; 画外音:此时业务方调用API:SendMsg。 (2)MQ-server将消息落地,落地后即为发送成功; (3)MQ-server将应答发送给MQ-client; 画外音:此时回调业务API:SendCallback。

MQ消息投递下半场,MQ-server到MQ-client-receiver流程见上图4-6: (4)MQ-server将消息发送给MQ-client; 画外音:此时回调业务API:RecvCallback。 (5)MQ-client回复应答给MQ-server; 画外音:此时业务方主动调用API:SendAck。 (6)MQ-server收到ack,将之前已经落地的消息删除,完成消息的可靠投递;
如果消息丢了怎么办? MQ消息投递的上下半场,都可以出现消息丢失,为了保证消息可达性,MQ需要进行超时和重传。
上半场如何实施超时与重传? MQ上半场的1或者2或者3如果丢失或者超时,MQ-client-sender内的timer会重发消息,直到期望收到3,如果重传N次后还未收到,则SendCallback回调发送失败,需要注意的是,这个过程中MQ-server可能会收到同一条消息的多次重发。
下半场如何实施超时与重传? MQ下半场的4或者5或者6如果丢失或者超时,MQ-server内的timer会重发消息,直到收到5并且成功执行6,这个过程可能会重发很多次消息。 画外音:一般采用指数退避的策略,先隔x秒重发,2x秒重发,4x秒重发,以此类推。 需要注意的是,这个过程中MQ-client-receiver也可能会收到同一条消息的多次重发。 MQ是系统之间的解耦利器,MQ为了保证消息必达,架构设计方向为: (1)消息收到先落地; (2)消息超时、重传、确认保证消息必达;
本篇文章为大家展示了MQ不丢消息究竟是怎么实现的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
(1)SendMsg(bytes[] msg);
(2)SendCallback();
蓝色MQ核心集群又分为四个部分:
(1)MQ-server
(2)zk;
(3)db;
(4)管理后台web;
(1)RecvCallback(bytes[] msg);
(2)SendAck();
MQ是一个系统间解耦的利器,它能够很好的解除发布订阅者之间的耦合,它将上下游的消息投递解耦成两个部分,如架构图中的1箭头和2箭头:

上述内容就是MQ不丢消息究竟是怎么实现的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
消息
核心
架构
业务
部分
保证
两个
画外音
必达
落地
上半场
收方
流程
箭头
上下
上图
解耦
过程
设计
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
互联网科技工作委员会主任
科技互联网政务服务
互联网科技未来
互联网络科技有限公司
互联网科技上市公司
上海万想互联网科技
科技互联网创业计划书
互联网科技股午盘股票涨跌
广州优美互联网科技
科技互联网的估值
须眉科技是互联网公司吗
茂名市互联网科技产业园
成都铂石互联网科技做什么的
互联网金融中的现代科技
天津腾达互联网科技有限公司
允成互联网科技有限公司融资
互联网科技创新的路径
互联网科技圈年度人物
如何强化互联网金融科技
互联网科技产业
互联网金融 科技创新
互联网科技生活的内容
温州喔噻互联网科技有限公司
荆州市昕露互联网络科技有限公司
花神(南京)互联网科技有限公司
互联网科技公司有风险吗
南博望互联网科技有限公司
网互联网络科技
六子台科技互联网展会