分佈式事務-本地消息表實現方案

分佈式事務-本地消息表實現方案

2019年02月27日 16:09:02 shine0312 閱讀數 274

一、背景

用單下單的時候需要先鎖庫存,然後再生成訂單,庫存所在的庫和訂單是兩個庫,這裏就涉及到了分佈式事務的處理,下面說下兩種解決方案吧

二、方案

1、定時任務+本地消息表

這種方案還有一個優化點就是:

可以去掉消息的定時任務,然後就是在生成訂單的事務中如果失敗,那麼就再開啓一個事務(事務中會強制走主庫查詢)查詢下該訂單是否存在,如果存在就正常進行流程,如果不存在那麼就直接設置消息的狀態是釋放未售出,然後進行庫存的回滾

2、消息隊列+本地消息表

這種就不自己畫圖了,盜用一下其他作者的圖吧,附上鍊接

圖片轉載於此

三、總結

方案不是怎麼複雜,主要是出問題的時候定位需要做好相應的方案處理吧

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