分布式中的問題 (一) 事務

2021-07-22 07:17:08 字數 1353 閱讀 5718

基本屬性:acid  隔離級別  傳播特性

直接用begin,commit,rollback就可以

兩個角色:協調者和參與者

協調者:負責排程參與者的行為,並最終決定參與者是有要把事務真正提交。(統一排程所有分布式節點的執行邏輯。),在具體實現當中常稱為全域性事務管理器。

原理簡單,實現方便

缺點:

一旦進入第三階段,即使協調者發生故障,或是協調者與參與者之間網路故障,參與者都會繼續進行事務提交。

優點:

降低參與者的阻塞範圍,單點故障後能繼續達成資料一致(因為只要進入第三階段如果即使沒收到docommit或abort仍會繼續進行事務提交)

缺點:

在接受到precommit之後,如果此時網路分割槽,有的節點接收到precommit請求,有的沒接收到,仍然會導致資料不一致。

(1)在做本地事務前,先向mq傳送乙個prepare資訊

(2)執行本地事務

(3)向mq傳送commit或rollback

只有mq收到commit之後,才會將訊息投遞出去。

傳送了rollback或者commit超時未達到mq都不會繼續投遞。

保證了mq和發訊息系統的一致性,同時保證和接收訊息系統的一致性。

分布式系統中的分布式事務

分布式事務中可以借助mq訊息系統來進行事務控制,這一點與可靠訊息最終一致方案一樣。看來mq中介軟體確實在乙個分布式系統架構中,扮演者重要的角色。最大努力通知方案是比較簡單的分布式事務方案,它本質上就是通過定期校對,實現資料一致性。中介軟體如何保證訊息的一致性 問題的問法多種多樣,怎麼保證兩個伺服器的...

分布式事務的問題

今天遇到乙個使用net分布式事務訪問oracle資料庫的問題,報ora 00161 事務處理的分支長度86非法 允許的最大長度為 64 的錯誤,查詢的資料,均解決不了,最後挨個檢查,終於發現了問題。描述 1 作業系統為win7 64位,安裝了2套oracle client,一套pl sql使用訪問o...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...