關於如何實現乙個Saga分布式事務框架的思考

2022-05-30 22:36:18 字數 584 閱讀 6592

關於saga模式的介紹,已經有一篇文章介紹的很清楚了,鏈結在這裡:分布式事務:saga模式。

關於tcc模式的介紹,也已經有一篇文章介紹的很清楚了,鏈結在這裡:關於如何實現乙個tcc分布式事務框架的一點思考。

1. 子事務動作

saga的子事務包含兩個動作:t和c;tcc的子事務包含三個動作:try、commit、cancel。saga和tcc相比沒有「預留動作」。以經典的a轉賬給b的例子來說:

saga:

tcc

2. 子事務≠資料庫事務

這個需要從兩個層面進行展開:

3. acid

這個也需要從兩個層面進行展開:

不過以上兩個問題都可以通過分布式鎖來解決,例如:在執行事務之前對a和b的賬戶進行加鎖,拒絕其他事務的讀寫操作,但是這樣會降低效率。強一致性和高可用性二選一

4. 冪等

關於冪等,要區分子事務是否滿足acid。

如何利用 Redis 實現乙個分布式「限速器」

分布式系統的思維早已植根於我們的思維中,本場 chat 一起重新看一次分布式系統的樣子,我們將弄明白它和集群 微服務是一回事嗎 以及在分布式系統的環境下我們為何需要乙個統一的介質來幫助我們實現分布式的管理元件,比如常見的分布式限流,又或者叫做我們今天要講的分布式 限速器 以及這種方式背後的原理等等。...

如何實現乙個高效能分布式 RPC 框架

rpc 框架是大型企業高頻使用的一種中介軟體框架,用於解決分布式系統中服務之間的呼叫問題。rpc 框架設計很多重要的知識點,如執行緒模型 通訊協議設計 同步 非同步呼叫 負載均衡等,對於提高我們的技術綜合能力有非常大的幫助。市面上有較多出名的 rpc 框架,例如 dubbo thrift grpc ...

如何設計乙個微型分布式架構?

序言 初衷 快取伺服器儲存模型架構 背景 隨著業務頻寬自然增長,使用者端頻寬增長,假設業務回源率不變的情況下,磁碟快取淘汰更新 淘汰 速率變快,表現為以下業務瓶頸 iowait變高 回源頻寬變高,由於磁碟空間大小受限的快取淘汰導致回源率變高 為了說明這個原理。我們假設兩個極端 乙個是裝置磁碟容量無限...