RocketMQ 事务消息在订单场景的落地
下单扣库存 + 发送消息,如何保证两个操作的一致性?RocketMQ 的事务消息提供了一套优雅的解决方案。 一、分布式事务的诉求 1.1 订单创建 + 发送”订单创建成功”消息的场景 1.2 如果先创建订单后发消息——消息可能没发出去 1.3 如果先发消息后创建订单——订单可能没创建成功 二、RocketMQ 事务消息的原理 2.1 两阶段提交——发送 half 消息 → 执行本地事务 → 提交/回滚 2.2 Half 消息——对消费者不可见 2.3 事务状态回查——checkLocalTransaction() 2.4 TransactionListener 接口——e...