RocketMQ事务性消息的设计

栏目: 后端 · 发布时间: 6年前

内容简介:RocketMQ的事物执行流程如下图所示:上图描述了检查事务消息状态的时序图,当MQ服务器发现消息在很长一段时间内仍是半提交的状态,它将发送一个请求消息,来得到当前消息的事务状态。

RocketMQ的事物执行流程如下图所示:

RocketMQ事务性消息的设计
  1. 生产者发送Prepare消息到MQ服务器。
  2. 成功发送Prepare消息后,执行本地事务。
  3. 根据本地事务结果向MQ服务器发送提交或回滚消息。
  4. 如果在本地事务执行中生产者将提交/回滚消息丢失,或悬而未决。MQ服务器将检查消息发送到同一组中的每个生产者,以此来获得消息本地事务执行的状态。
  5. 根据本地事务状态生成应答提交/回滚消息。
  6. 提交的消息将会提供给消费者消费,但是回滚的消息将被MQ服务器丢弃。
如图所示,为了屏蔽存储的底层实现,所有事务消息操作都集中在事务服务接口上。RocketMQ提供了一个它自己实现的默认存储系,我们使用事务桥实现事务性存储逻辑,而不是直接修改RocketMQ的存储层。上图描述了发送事务性消息的时序图。从该图中,我们可以清楚地看到事务性消息是如何在两个阶段提交的.

上图描述了检查事务消息状态的时序图,当MQ服务器发现消息在很长一段时间内仍是半提交的状态,它将发送一个请求消息,来得到当前消息的事务状态。


以上所述就是小编给大家介绍的《RocketMQ事务性消息的设计》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数字民主的迷思

数字民主的迷思

[美] 马修·辛德曼 / 唐杰 / 中国政法大学出版社 / 2015-12-25 / CNY 39.00

马修·辛德曼著的《数字民主的迷思》主要讨论互联网对美国政治的影响,聚焦的是“民主化”这一课题。针对公众关于网络民主的美好想象与过分狂热,它通过对在线竞选、链接结构、流量模式、搜索引擎使用、博客与博主、内容生产的“规模经济”等主题的深入处理,借助大量数据图表与分析,勾勒出互联网政治的种种局限性。尤其表明,网络政治信息仍然为一小群精英与机构所创造和过滤,在网络的每一个层次和领域都仍然遵循着“赢家通吃”......一起来看看 《数字民主的迷思》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码