分布式事務用於分布式系統中主要是為了確保不同節點的資料一致性,分布式事務有很多,最具代表性的就是oracre提出的xa分布式事務
分布式系統分為兩階段提交和三階段提交,這裡我們主要說一下兩階段提交。
兩階段提交主要有三個部分主動方應用、訊息中介軟體、被動方應用,分布式事務主要是為解決資料不一致的問題。
首先主動方應用系統向訊息中介軟體傳送乙個預訊息,訊息中介軟體將這條待確認訊息進行持久化儲存,並將儲存成功與否的訊息傳送給主動方應用,如果儲存成功就執行業務操作否則就不執行業務操作。主動方應用將業務操作的結果傳送給訊息中介軟體,如果業務操作成功就將資料庫中的待確認訊息的狀態更新為待傳送並傳送給實時訊息服務,失敗就將訊息進行刪除。被動方應用監聽到帶傳送的訊息就進行業務處理,被動方業務處理過後將業務訊息處理確認的應答分送給訊息中介軟體,訊息中介軟體將這條訊息進行刪除(實時訊息服務中的訊息)。
當主動方處理完業務之後,還沒有將處理結果資訊分送給訊息中介軟體,就會導致訊息一直傳送不出去也就是堵塞。還有一種就是被動方應用監聽到待傳送資訊,也處理過業務但是沒有將訊息處理確認應答傳送給訊息中介軟體,訊息中介軟體就不會將該訊息進行刪除。第乙個的處理辦法就是設定乙個訊息確認子系統監聽訊息佇列的資料庫,當監聽到有資料庫有沒確認的訊息就每隔一段時間從新查詢主動方應用,如果到了規定的查詢次數也沒有成功就手動重啟。第二個問題設定乙個訊息恢復子系統,訊息恢復子系統回去查詢被動方應用是否收到訊息,如果收到訊息就傳送訊息給訊息中介軟體就行刪除,如果沒有收到訊息就讓訊息中介軟體從新傳送,但是被動方應用一直收不到訊息,而訊息恢復子系統也達到了傳送次數,就將實時訊息服務標記為死亡佇列,手動重啟。
分布式事務分析
近期公司專案基於微服務架構需要涉及到實現一套分布式事務。經過幾天在網上查閱資料發現大部分文章只是講解了具體的其中乙個模型。因此在這裡做乙個總結 自己的一些感悟和看法。cap理論本身並不是一套和事務相關的理論,而是用來解釋分布式系統的理論。但是用來分析分布式事物的邊界非常適合。關於cap理論,可以檢視...
分布式 分布式事務
是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...
分布式事務 分布式事務的實現
如果在多個服務中需要對不同的資料庫進行操作。因為不同服務操作的資料庫都不同,所以保證在同乙個事務中完成操作顯然是不科學的。那實現分布式事務的思想 1 方法入口,建立一條日誌記錄,狀態定義為初始狀態,即儲存本條日誌記錄 可以儲存在資料庫中,也可以寫出到本地磁碟檔案 2 可以在非同步執行緒或在定時任務中...