什么是事务、半事务消息?怎么实现的?
生活随笔
收集整理的這篇文章主要介紹了
什么是事务、半事务消息?怎么实现的?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
事務消息就是MQ提供的類似XA的分布式事務能力,通過事務消息可以達到分布式事務的最終一致性。
半事務消息就是MQ收到了生產者的消息,但是沒有收到二次確認,不能投遞的消息。
實現原理如下:
1、生產者先發送一條半事務消息到MQ
2、MQ收到消息后返回ack確認
3、生產者開始執行本地事務
4、如果事務執行成功發送commit到MQ,失敗發送rollback
5、如果MQ長時間未收到生產者的二次確認commit或者rollback,MQ對生產者發起消息回查
6、生產者查詢事務執行最終狀態
7、根據查詢事務狀態再次提交二次確認
最終,如果MQ收到二次確認commit,就可以把消息投遞給消費者,反之如果是rollback,消息會保存下來并且在3天后被刪除。
?
總結
以上是生活随笔為你收集整理的什么是事务、半事务消息?怎么实现的?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RocketMQ为什么速度快
- 下一篇: 为什么要使用MQ?