1. 程式人生 > >分散式鎖、事務和分散式事務概念彙總

分散式鎖、事務和分散式事務概念彙總

1、鎖:

單程序的系統中,存在多執行緒同時操作一個公共變數,此時需要加鎖對變數進行同步操作,保證多執行緒的操作線性執行消除併發修改。解決的是單程序中的多執行緒併發問題。

2、分散式鎖:

只要的應用場景是在叢集模式的多個相同服務,可能會部署在不同機器上,解決程序間安全問題,防止多程序同時操作一個變數或者資料庫。解決的是多程序的併發問題。

3、事務

解決一個會話過程中,上下文的修改對所有資料庫表的操作要麼全部成功,要不全部失敗。所以應用在service層。解決的是一個會話中的操作的資料一致性。

4、分散式事務

解決一個聯動操作,比如一個商品的買賣分為:

(1)新增商品到購物車

(2)修改商品庫存-1

此時購物車服務和商品庫存服務可能部署在兩臺電腦,這時候需要保證對兩個服務的操作都全部成功或者全部回退。解決的是組合服務的資料操作的一致性問題。