分布式事務

2022-09-16 17:09:17 字數 969 閱讀 2847

本地事務————操作單一資料庫————資料庫支援提供

分布式事務————乙個業務橫跨多個服務,操作多個資料庫————保證不同資源伺服器的資料一致性

典型分布式事務場景:

1.跨庫事務:某個功能需要操作多個庫

2.分庫分表: 乙個庫資料量比較大或預期未來資料量比較大,進行水平拆分,也就是分庫分表。(保證兩個庫要不都成功,要不都失敗)

資料庫中漸漸都面臨分布式事務問題。

3.服務化(soa)  微服務框架  業務複雜  既考慮事務又要考慮效能

保證微服務對多個資料庫的操作要不都成功,要不都失敗。

解決方法:x/open  dtp模型與xa規範

一.dtp模型

資源管理器(resource  manager,簡稱rm)

事務管理器(transaction manager,簡稱tm)

通訊資源管理器(commurication resoutce manager,簡稱crm)

通訊協議(communication protocol,簡稱cp)

2.模型例項

乙個dtp模型例項,至少有三個部分:ap、rms、tm

服務化事務dtp模型:

解決方案:每個模型中,額外加入乙個通訊資源管理器crm。

兩個模型採用同乙個事務管理器(tm)

crm:具備基本通訊能力,具備事務傳播能力

全域性事務樹形結構,當乙個tm中有在多模型例項時,會形成一種樹形呼叫關係。

發起事務的模型例項稱之為root節點或事務發起者

其他模型——事務參與者——執行自己的事務分支

按模型呼叫關係分:呼叫方——上有節點    被呼叫方——下游節點

分布式 分布式事務

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

分布式事務 分布式事務的實現

如果在多個服務中需要對不同的資料庫進行操作。因為不同服務操作的資料庫都不同,所以保證在同乙個事務中完成操作顯然是不科學的。那實現分布式事務的思想 1 方法入口,建立一條日誌記錄,狀態定義為初始狀態,即儲存本條日誌記錄 可以儲存在資料庫中,也可以寫出到本地磁碟檔案 2 可以在非同步執行緒或在定時任務中...

分布式之分布式事務

被人問到分布式事務,之前學rabbitmq 的時候學到過rabbitmq 高階的事務,因為沒有用過,所有沒有回答好。這裡總結一下。1.單機版事務。事務的四大特性 acid a.原子性 b.一致性 c.隔離性 d.永續性 單機事務可以通過設定事務的隔離級別 參見spring 的事務隔離級別 2.分布式...