tencent cloud

文档反馈

事务消息

最后更新时间:2023-04-14 16:59:04
    本文主要介绍消息队列 TDMQ RocketMQ 版中事务消息的概念、技术原理、应用场景和使用方式。

    功能介绍

    事务消息实现了消息生产者本地事务与消息发送的原子性,保证了消息生产者本地事务处理成功与消息发送成功的最终一致。用户实现类似 X/Open XA 的分布事务功能,通过消息队列 TDMQ RocketMQ 版能达到分布式事务的最终一致。
    
    
    
    1. 生产者发送消息到 RocketMQ 中(1)。
    2. 服务端收到消息后将消息存储到半消息Topic 中(2)。
    3. 当本地事务执行完成(3)。
    4. 生产者主动将事务执行结果发送到 RocketMQ 中(4)。
    5. 若本地事务执行结果超过一定期限还没反馈,RocketMQ 将执行回查逻辑(5)
    6. 生产者收到消息回查后,需要检查对应消息的本地事务执行的最终结果,并反馈(6、7)。事务执行状态有以下三种情况:
    TransactionStatus.COMMIT 提交事务,消费者可以消费到该消息。
    TransactionStatus.ROLLBACK 回滚事务,消息被丢弃,消费者不会消费到该消息。
    TransactionStatus.UN_KNOW 无法判断状态,等待再次发送回查。
    7. 当事务执行成功,RocketMQ 将事务消息提交到 real topic,待消费者消费(a)。

    应用场景

    使用 TDMQ RocketMQ 版的事务消息来处理交易事务,可以极大提升处理效率和性能。计费的交易链路通常比较长,出错或者超时的概率比较高,借助 TDMQ 的自动重推和海量堆积能力来实现事物补偿,支付 Tips 通知和交易流水推送可以通过 TDMQ 来实现最终一致性。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持