当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-RocketMQ的事务消息是如何实现的

金三银四精选java面试题-RocketMQ的事务消息是如何实现的

来源:图灵教育
时间:2023-12-26 09:36:45
 

RocketMQ的事务消息是如何实现的

    1. 生产者订单系统先发送一条half消息到Broker,half消息对消费者而言是不可见的
    2. 再创建订单,根据创建订单成功与否,向Broker发送commit或rollback
    3. 并且生产者订单系统还可以提供Broker回调接口,当Broker发现一段时间half消息没有收到任何操作命令,则会主动调此接口来查询订单是否创建成功
    4. 一旦half消息commit了,消费者库存系统就会来消费,如果消费成功,则消息销毁,分布式事务成功结束
    5. 如果消费失败,则根据重试策略进行重试,最后还失败则进入死信队列,等待进一步处理