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