分布式服務如何設計分布式事務

2021-10-03 11:37:02 字數 311 閱讀 7964

1、如果a-b-c強相關

考慮採用tcc框架 (try-confirm-cancel)

bytetcc,himly

阿里的fescar,seata

推薦使用seata

tcc框架

2、如果a 與bc並不強相關

考慮可靠訊息最終一致性解決方案,例如a成功後通過傳送kafka事件,bc監聽事件來處理。

rocketmq,提供了分布式事務支援。

以seata舉例,每個服務都會向tc進行互動,增加網路開銷

當請求量大時,seata server也需要布置多台機器 抗高併發

分布式 分布式事務

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

如何設計分布式系統

設計分布式系統主要考慮以下四個大點,兩個小點 四個大點 兩個小點 我們都知道,系統出現故障是非常常見的,所以我們應該把處理故障的 當成正常的功能做在架構裡寫在 裡,使得故障真正發生時,系統還可以執行 分布式鎖設計原則 什麼是系統的可伸縮性?如果你的系統對乙個使用者來說是快的,但是在使用者不斷增長的高...

分布式之分布式事務

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