目前流行的是tx-lcn
引入包如下:
com.codingapi
transaction-springcloud
4.1.0
org.slf4j
*
com.codingapi
tx-plugins-db
4.1.0
org.slf4j
*
框架特點:
支援各種基於spring的db框架
相容springcloud、dubbo
使用簡單,低依賴,**完全開源
基於切面的強一致性事務框架
高可用,模組可以依賴dubbo或springcloud的集群方式做集群化,txmanager也可以做集群化
支援本地事務和分布式事務共存
事務補償機制,服務故障或掛機再啟動時可恢復事務
說明:在使用lcn分布式事務時,只需要將事務的開始方法新增@txtransaction
註解即可
@txtransaction註解是分布式事務的標示。
若存在業務方法:a-b b-c b-d,那麼開啟分布式事務註解的話,只需要在a方法上新增@txtransaction即可。
@txtransaction
@transactional
public void a()
public void b()
public void c(){}
public void d(){}
另外乙個是fescar,現改名為seata(****** extensible autonomous transaction architecture):一種分布式事務解決方案,具有高效能和易於使用的微服務架構。 分布式事物幾種解決方案
本文只做引薦,大概說一些自己的理解 分布式不存在絕對的事物處理!大概四種解決方案 基於訊息佇列最終一致性 tcc型解決方案 二階段提交強一致性 lcn 阿里gts 個人感覺lcn比較適合,就是把整個操作加入乙個事務組,然後每一步操作都去對事務組進行乙個反饋,當某個業務出現異常,對加入事務組中業務進行...
分布式事務解決方案
一 結合mq訊息中介軟體實現的可靠訊息最終一致性 二 tcc補償性事務解決 三 最大努力通知型方案 第一種方案 可靠訊息最終一致性,需要業務系統結合mq訊息中介軟體實現,在實現過程中需要保證訊息的成功傳送及成功消費。即需要通過業務系統控制mq的訊息狀態 第二種方案 tcc補償性,分為三個階段tryi...
分布式事務解決方案
當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...