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

RocketMQ事务消息

RocketMQ事务消息

RocketMq提供的一种高级消息类型,支持在分布式场景下面保障消息生产和本地事务的一致性

事务流程

  1. 生产者将消息发送到服务端
  2. 服务端将消息持久化成功后,向生产者返回ACK确认消息发送成功,此时消息状态为待投递,这种状态下的消息称之为半事务消息
  3. 生产者执行本地事务消息
  4. 生产者根据本地事务执行结果向服务端提交二次确认结果(Commit或Rollback)
    • 二次确认结果为Commit:服务端将半事务消息状态改为可投递,投递给消费者
    • 二次确认结果为Rollback:服务端回滚事务,不再将事务消息投递给消费者
  5. 在断网或生产者重启的情况下,服务端未收到生产端的二次消息确认或者收到的二次确认结果为Unknown状态,经过固定时间后,服务端会对生产者端进行消息回查
  6. 生产者收到消息回查后,检查对应消息本地事务的最终执行结果
  7. 生产者根据检查到的本地事务最终执行结果再次向服务端进行二次确认,服务端按照步骤4对半事务消息进行处理

参考链接

  • 事务消息
http://www.lryc.cn/news/15461.html

相关文章:

  • 大数据处理 - 双层桶划分
  • NFC标签读写器隐私协议
  • DocEE:一种用于文档级事件抽取的大规模细粒度基准 论文解读
  • ImageCombiner设计源码详解
  • python基础 | python基础语法
  • YOLOv6-3.0-目标检测论文解读
  • JAVA集合之Map >>HashMap/Hashtable/TreeMap/LinkedHashMap结构
  • JavaScript从零开始 学习记录(一)
  • C++项目——高并发内存池(3)--central cache整体设计
  • Spring Boot 整合 MyBatis 配置等案例教程
  • 比特数据结构与算法(第三章_下)队列的概念和实现(力扣:225+232+622)
  • c++提高篇——STL容器实现打分系统
  • 【图片上传记录三】element-ui组件详解与封装(自定义上传、限制文件大小、格式以及图片尺寸)
  • 一个golang版本管理工具
  • SpringBoot整合Spring Security过滤器链加载执行流程源码分析
  • Jest使用
  • 定位于企业数字化底座,开箱可用(spring cloud+Vue)基础框架,赶紧收藏!
  • java字符统计
  • C#:Krypton控件使用方法详解(第八讲) ——kryptonBreadCrumb
  • 2023从0开始学性能(1) —— 性能测试基础【持续更新】
  • 如何通过一台 iPhone 申请一个 icloud 邮箱账号 后缀为 @icloud.com
  • SQL89 计算总和
  • Netty高级应用之:编解码器与群聊天室开发
  • Vue的生命周期
  • MySQL —— 数据库基础
  • 多线程知识点
  • 有序表之红黑树
  • HTTP状态码都有哪些?
  • Sketch+摹客,100M文件上传最快47s
  • 关系型数据之分区分表分库