gitlab下載地址:
一、rabbitmq實現原理
- 一般在自己內部系統中建議采用lcn剛性事務來處理,面對調用第三方接口,或者誇平台語言是采用消息中間來實現補償型事務。注意在進行補償時需要注意重復調用問題(解決冪等性問題)。
- 在項目中對於消費者獲取到消息后,如果拋出異常的情況下是不需要重試機制的。一般建議添加定時任務對數據庫中的數據做健康檢查。
- 在解決冪等性問題建議用數據庫中不重復的邏輯主鍵來判斷(推薦使用),或者使用全局的MessageID來判斷。
- 注意:rabbitmq采用的是最終一致性來解決分布式事務。
二、使用MessageID區分消息
在請求頭中傳入MessageId標注唯一性
未完待續。。。預計在2019-4-04-17晚上更新完畢