RocketMQ事务消息机制
1.half消息对消费者不可见,用于确定MQ服务正常。
2.MQ响应half消息。
3.生产者执行本地事务。
4.生产者发送具体消息+本地事务状态,MQ根据本地事务状态执行Commit或者Rollback(Commit操作生成消息索引,消息对消费者可见)。
5.对没有Commit/Rollback的事务消息(Unknow),从MQ发起一次回查。
6.生产者检查本地事务状态。
7.生产者将本地事务状态给MQ。
5、6、7、为补偿流程,达到超时(检查次数默认15次),MQ认定本地事务失败(Rollback)。