1. 程式人生 > 其它 >分散式事務(一) :分散式事務的概念

分散式事務(一) :分散式事務的概念

1.分散式事務的概念

資料庫事務:

分散式事務:
一項業務操作可能會呼叫執行多個微服務。如何保證多個服務執行的多個數據庫的操作整體成功或整體失敗?這就是分散式事務要解決的問題。

2.CAP 、BASE原則

2.1 CAP


CAP理論就是說在分散式儲存系統中,最多隻能實現上面的兩點。而由於網路硬體肯定會出現延遲丟包等問題,所以分割槽容錯性是我們必須需要實現的。所以我們只能在一致性和可用性之間進行權衡,沒有NoSQL系統能同時保證這三點。對於web2.0網站來說,關係資料庫的很多主要特性卻往往無用武之地。
1.資料庫事務一致性需求。很多web實時系統並不要求嚴格的資料庫事務,對讀一致性的要求很低,有些場合對寫一致性要求並不高。允許實現最終一致性。
2.資料庫的寫實時性和讀實時性需求。對關係資料庫來說,插入一條資料之後立刻查詢,是肯定可以讀出來這條資料的,但是對於很多web應用來說,並不要求這麼高的實時性,比方說發一條訊息之 後,過幾秒乃至十幾秒之後,我的訂閱者才看到這條動態是完全可以接受的。
3.對複雜的SQL查詢,特別是多表關聯查詢的需求。任何大資料量的web系統,都非常忌諱多個大表的關聯查詢,以及複雜的資料分析型別的報表查詢,特別是SNS型別的網站,從需求以及產品設計角 度,就避免了這種情況的產生。往往更多的只是單表的主鍵查詢,以及單表的簡單條件分頁查詢,SQL的功能被極大的弱化了。

2.2 BASE原則

BASE是Basically Available(基本可用)、Soft state(軟狀態)和Eventually consistent(最終一致性)三個短語的簡寫。
BASE是對CAP中一致性和可用性權衡的結果,其來源於對大規模網際網路系統分散式實踐的結論,是基於CAP定理逐步演化而來的,其核心思想是即使無法做到強一致性(Strong consistency),但每個應用都可以根據自身的業務特點,採用適當的方式來使系統達到最終一致性(Eventual consistency)。

參考資料:https://baike.baidu.com/item/CAP原則/5712863?fr=aladdin

有疑問,可以留言。