通過消息隊列實現分佈式事務

通過消息隊列實現分佈式事務

在這裏插入圖片描述
表設計:
生產者:賬戶餘額表、事務記錄表
消費者:賬戶餘額表、消息記錄表
生產者事務流程:
a:支付寶賬戶扣除100元
b:給事務記錄表中新增一條事務記錄 (a、b兩步操作在同一個數據庫中,可以保證事務一致性,同時成功,同時失敗)
定時程序流程:
a:定時掃描生產者事務記錄表中狀態爲未完成的記錄,將未完成記錄發送到消息隊列中
b:將生產者事務記錄表中的狀態改爲已完成
消費者事務流程:
a:從消息隊列中獲取記錄
b:將消息中未完成記錄的事務txId作爲主鍵 報錯到事務處理表中(防止由於消息隊列故障,導致消息二次消費問題)
c:將餘額寶賬戶增加100元(b、c兩步操作在同一個數據庫中,可以保證事務一致性,同時成功,同時失敗)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章