MST

星途 面试题库

面试题:消息队列之RocketMQ事务消息实现原理基础

请简述RocketMQ事务消息实现过程中的两个阶段分别是什么,以及每个阶段的主要操作。
11.9万 热度难度
后端开发消息队列

知识考点

AI 面试

面试题答案

一键面试
  1. 第一阶段:Half Message(预处理阶段)
    • 主要操作
      • 生产者向Broker发送Half Message(半消息),该消息对消费者不可见。
      • Broker收到Half Message后,将其持久化到存储介质(如磁盘),并返回成功响应给生产者。
  2. 第二阶段:Commit or Rollback(提交或回滚阶段)
    • 提交操作
      • 生产者执行本地事务,本地事务执行成功后,向Broker发送Commit消息。
      • Broker收到Commit消息后,将之前的Half Message标记为可投递状态,消费者就可以正常消费该消息。
    • 回滚操作
      • 若生产者本地事务执行失败,向Broker发送Rollback消息。
      • Broker收到Rollback消息后,删除之前存储的Half Message,消费者不会消费到该消息。