LCN 具體的使用的方法 查看官網,官網我以爲已經說的很明確了 http://www.txlcn.org/zh-cn/docs/preface.htmlhtml
如下的所有來自官網,我只是CVredis
LCN5.0.2有3種模式,分別是LCN模式,TCC模式,TXC模式;數據庫
LCN模式是經過代理Connection的方式實現對本地事務的操做,而後在由TxManager統一協調控制事務。當本地事務提交回滾或者關閉鏈接時將會執行假操做,該代理的鏈接將由LCN鏈接池管理。框架
TCC事務機制相對於傳統事務機制(X/Open XA Two-Phase-Commit),其特徵在於它不依賴資源管理器(RM)對XA的支持,而是經過對(由業務系統提供的)業務邏輯的調度來實現分佈式事務。分佈式
主要由三步操做,Try: 嘗試執行業務、 Confirm:確認執行業務、 Cancel: 取消執行業務。spa
TXC模式命名來源於淘寶,實現原理是在執行SQL以前,先查詢SQL的影響數據,而後保存執行的SQL快走信息和建立鎖。當須要回滾的時候就採用這些記錄數據回滾數據庫,目前鎖實現依賴redis分佈式鎖控制。3d
TX-LCN由兩大模塊組成, TxClient、TxManager,TxClient做爲模塊的依賴框架,提供TX-LCN的標準支持,TxManager做爲分佈式事務的控制放。代理
事務發起方或者參與反都由TxClient端來控制。htm
原理圖:對象
建立事務組
是指在事務發起方開始執行業務代碼以前先調用TxManager建立事務組對象,而後拿到事務標示GroupId的過程。
加入事務組
添加事務組是指參與方在執行完業務方法之後,將該模塊的事務信息通知給TxManager的操做。
通知事務組是指在發起方執行完業務代碼之後,將發起方執行結果狀態通知給TxManager,TxManager將根據事務最終狀態和事務組的信息來通知相應的參與模塊提交或回滾事務,並返回結果給事務發起方。