分布式系统中,很多业务场景都需要考虑消息投递的时序,例如:
(1)单聊消息投递,保证发送方发送顺序与接收方展现顺序一致
(2)群聊消息投递,保证所有接收方展现顺序一致
(3)充值支付消息,保证同一个用户发起的请求在服务端执行序列一致
消息时序是分布式系统架构设计中非常难的问题,ta为什么难,有什么常见优化实践,是本文要讨论的问题。
一、为什么时序难以保证,消息一致性难?
为什么分布式环境下,消息的时序难以保证,这边简要分析了几点原因:
【时钟不一致】

分布式环境下,有多个客户端、有web集群、service集群、db集群,他们都分布在不同的机器上,机器之间都是使用的本地时钟,而没有一个所谓的“全局时钟”,所以不能用“本地时间”来完全决定消息的时序。
【多客户端(发送方)】

多服务器不能用“本地时间”进行比较,假设只有一个接收方,能否用接收方本地时间表
继续阅读与本文标签相同的文章
上一篇 :
群消息这么复杂,怎么能做到不丢不重?
下一篇 :
“id串行化”到底是怎么实现的?
-
这才是真正的分布式锁
2026-05-20栏目: 教程
-
一分钟实现分布式锁
2026-05-20栏目: 教程
-
即使删了全库,保证半小时恢复
2026-05-20栏目: 教程
-
如何防止根目录被删?
2026-05-20栏目: 教程
-
“id串行化”到底是怎么实现的?
2026-05-20栏目: 教程
