当前位置: 首页 > news >正文

RocketMQ事务性消息

RocketMQ事务性消息是一定能保证消息发送成功的

事务消息发送步骤:

(1)发送方将半事务消息发送至RocketMQ服务端。

(2)RocketMQ服务端将消息持久化之后,向发送方返回ack确认消息已经发送成功。由于消息为半事务消息,在未收到生产者对该消息的二次确认前,此消息被标记成“暂不能投递”状态。

(3)发送方开始执行本地事务逻辑。

(4)发送方根据本地事务执行结果向服务端提交二次确认(Commit 或是 Rollback),服务端收到Commit 状态则将半事务消息标记为可投递,订阅方最终将收到该消息;服务端收到 Rollback 状态则删除半事务消息,订阅方将不会接受该消息。

事务消息回查步骤:

(1)在断网或者是应用重启的特殊情况下,上述步骤4提交的二次确认最终未到达服务端,经过固定时间后服务端将对该消息发起消息回查。

(2)发送方收到消息回查后,需要检查对应消息的本地事务执行的最终结果。

(3) 发送方根据检查得到的本地事务的最终状态再次提交二次确认,服务端仍按照步骤4对半事务消息进行操作。

http://www.lryc.cn/news/370641.html

相关文章:

  • mysql (事物)
  • kotlin 中的字符串
  • 网站线上模板建设的优缺点
  • 哲学家进餐问题
  • 无人机遥感在农林信息提取中的实现方法与GIS融合应用
  • 联想测开一面(电话面试)笔试60%
  • 【python】tkinter GUI开发: Button和Entry的应用实战探索
  • sm2证书生成(openssl3.0)
  • java计算年化利率
  • 深入理解ChatGPT工作原理
  • 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)
  • Elasticsearch index 设置 false,为什么还可以被检索到?
  • 169. 多数元素
  • ADS基础教程19 - 电磁仿真(EM)基本概念和实操
  • LabVIEW RT环境中因字符串拼接导致的系统崩溃问题
  • 深层网络:层数多真的更好吗?
  • 【QT5】<知识点> QT常用知识(更新中)
  • 如何将AndroidStudio和IDEA的包名改为分层级目录
  • 北交字节联合提出ClassDiffusion: 使用显式类别引导的一致性个性化生成。
  • 37、matlab矩阵运算
  • 用软件实现的硬件——虚拟机
  • [Shell编程学习路线]--shell中重定向和管道符(详细介绍)
  • Linux命令详解(1)
  • 网工内推 | 深信服、中软国际技术支持工程师,最高13k*13薪
  • 实现卡片的展开缩放动画
  • 实验:贪心算法
  • Python学习笔记12 -- 有关布尔值的详细说明
  • SQL-窗口函数合集
  • 2024 全球软件研发技术大会官宣,50+专家共话软件智能新范式!
  • opencv快速安装以及各种查看版本命令