隨着系統的複雜性,單機系統愈來愈沒法知足開發的需求,因而產生了分佈式系統.可是給開發者帶來了分佈式事務的問題,讓單機的一致性在多態機器上實現起來同樣簡單,下面介紹一些開源愛好者進行封裝的分佈式事務框架:git
1.tcc-transactiongithub
github地址:github.com/changmingxi…app
源碼分析:www.iocoder.cn/categories/…框架
2.myth分佈式
github地址:微服務
源碼分析:juejin.im/post/5a5c63…post
3.happylifeplat tcc學習
github地址:github.com/yu199195/hm…code
源碼分析:yu199195.github.io/categories/…
4.FESCAR:阿里重磅開源分佈式事務解決方案
FESCAR名字的由來:Fast & EaSy Commit And Rollback
原理:
一個典型的FESCAR維護的分佈式事務的生命週期以下:
TM向TC請求開啓一個全局事務,TC生成一個XID,一個表示全局事務的惟一ID;
經過微服務的調用鏈,XID被廣播出去(圖中綠色線路);
RM向TC註冊一個屬於XID表示的分佈式事務下的本地事務(紅色箭頭);
TM向TC詢問是提交仍是回滾XID表示的全局事務;
TC驅動XID表示的全局事務下的全部分支事務,完成提交或者回滾動做。
github地址:github.com/alibaba/fes…
但願你們能夠積極參與到分佈式事務當開發當中,提供優秀的方案實現!
歡迎關注個人公衆號來一塊兒學習分佈式事務: