1、分布式架構中,由於後台伺服器數量不再是單機,資料庫採用分庫分表策略,資料庫分布在不同的多台伺服器上,在單機背景下對資料庫的操作acid已不再適用於分布式系統。在分布式架構中如何保證事務的原子性、一致性、隔離性、永續性成為技術的突破點。2、分布式事務業界還沒有開源的產品,主流公司各自研發自己的分布式事務框架。
當我們的單個資料庫的效能產生瓶頸的時候,我們可能會對資料庫進行分割槽,這裡所說的分割槽指的是物理分割槽,分割槽之後可能不同的庫就處於不同的伺服器上了,這個時候單個資料庫的acid已經不能適應這種情況了,而在這種acid的集群環境下,再想保證集群的acid幾乎是很難達到,或者即使能達到那麼效率和效能會大幅下降,最為關鍵的是再很難擴充套件新的分割槽了,這個時候如果再追求集群的acid會導致我們的系統變得很差,這時我們就需要引入乙個新的理論原則來適應這種集群的情況,就是 cap 原則或者叫cap定理2.1、cap三大特性
2.2、 兩階段提交 – 2pc
2.3、tcc(try + confirm + cancle)
2.4、基於訊息中介軟體完成cap
說明:訊息傳送者負責傳送訊息到訊息中心,訊息中心負責向訊息接受者(後台伺服器)傳送訊息,實現分布式事務,如果傳送失敗,訊息中心會定期傳送,消費直到成功,保證事務的一致性和可用性
2.5、2pc與tcc、基於訊息中介軟體的區別
2.6 個人設計
說明:分布式事務採用2pc兩階段方式,和單機事務一樣,異常恢復系統負責根據事務日誌恢復異常
分布式 分布式事務
是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...
分布式事務 分布式事務的實現
如果在多個服務中需要對不同的資料庫進行操作。因為不同服務操作的資料庫都不同,所以保證在同乙個事務中完成操作顯然是不科學的。那實現分布式事務的思想 1 方法入口,建立一條日誌記錄,狀態定義為初始狀態,即儲存本條日誌記錄 可以儲存在資料庫中,也可以寫出到本地磁碟檔案 2 可以在非同步執行緒或在定時任務中...
分布式之分布式事務
被人問到分布式事務,之前學rabbitmq 的時候學到過rabbitmq 高階的事務,因為沒有用過,所有沒有回答好。這裡總結一下。1.單機版事務。事務的四大特性 acid a.原子性 b.一致性 c.隔離性 d.永續性 單機事務可以通過設定事務的隔離級別 參見spring 的事務隔離級別 2.分布式...