<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    tx-lcnLCN 分布式事務(wù)

    聯(lián)合創(chuàng)作 · 2023-10-01 07:05

    LCN分布式事務(wù)

    "LCN并不生產(chǎn)事務(wù),LCN只是本地事務(wù)的搬運工"

    框架介紹

    LCN分布式事務(wù)框架是一款事務(wù)協(xié)調(diào)性的框架,框架本身并不創(chuàng)建事務(wù),只是對本地事務(wù)做協(xié)調(diào)控制。因此該框架與其他第三方的框架兼容性強,支持所有的關(guān)系型數(shù)據(jù)庫事務(wù),支持多數(shù)據(jù)源,支持與第三方數(shù)據(jù)庫框架一塊使用(例如 sharding-jdbc),在使用框架的時候只需要添加分布式事務(wù)的注解即可,對業(yè)務(wù)的侵入性低。LCN框架主要是為微服務(wù)框架提供分布式事務(wù)的支持,在微服務(wù)框架上做了進(jìn)一步的事務(wù)機制優(yōu)化,在一些負(fù)載場景上LCN事務(wù)機制要比本地事務(wù)機制的性能更好,4.0以后框架開方了插件機制可以讓更多的第三方框架支持進(jìn)來。

    官方網(wǎng)址

    https://www.txlcn.org

    框架特點

    1. 支持各種基于spring的db框架
    2. 兼容SpringCloud、Dubbo、motan
    3. 使用簡單,低依賴,代碼完全開源
    4. 基于切面的強一致性事務(wù)框架
    5. 高可用,模塊可以依賴RPC模塊做集群化,TxManager也可以做集群化
    6. 支持本地事務(wù)和分布式事務(wù)共存
    7. 支持事務(wù)補償機制,增加事務(wù)補償決策提醒
    8. 添加插件拓展機制

    原理介紹

    原理介紹 視頻講解

    目錄說明

    transaction-dubbo LCN dubbo rpc框架擴展支持

    transaction-springcloud LCN springcloud rpc框架擴展支持

    transaction-motan LCN motan rpc框架擴展支持

    tx-client 是LCN核心tx模塊端控制框架

    tx-manager 是LCN 分布式事務(wù)協(xié)調(diào)器

    tx-plugins-db 是LCN 對關(guān)系型數(shù)據(jù)庫的插件支持

    tx-plugins-nodb 是LCN 對于無數(shù)據(jù)庫模塊的插件支持

    tx-plugins-redis 是LCN 對于redis模塊的插件支持(功能暫未實現(xiàn))

    使用說明

    分布式事務(wù)發(fā)起方:

    
        @Override
        @TxTransaction
        @Transactional
        public boolean hello() {
            //本地調(diào)用
            testDao.save();
            //遠(yuǎn)程調(diào)用方
            boolean res =  test2Service.test();
            //模擬異常
            int v = 100/0;
            return true;
        }
        
        
    

    分布式事務(wù)被調(diào)用方(test2Service的業(yè)務(wù)實現(xiàn)類)

    
        @Override
        @Transactional
        public boolean test() {
            //本地調(diào)用
            testDao.save();
            return true;
        }
    
    

    如上代碼執(zhí)行完成以后兩個模塊都將回滾事務(wù)。

    說明:在使用LCN分布式事務(wù)時,只需要將事務(wù)的開始方法添加@TxTransaction注解即可。詳細(xì)見demo教程

    關(guān)于@TxTransaction 使用說明

    @TxTransaction注解是分布式事務(wù)的標(biāo)示。

    若存在業(yè)務(wù)方法:a->b b->c b->d,那么開啟分布式事務(wù)注解的話,只需要在a方法上添加@TxTransaction即可。

        @TxTransaction
        @Transactional
        public void a(){
            b();
        }
    
        public void b(){
            c();
            d();
        }
    
        public void c(){}
    
        public void d(){}
    

    maven 中心庫地址

    
    
    
        com.codingapi
        tx-client
        ${lcn.last.version}
    
    
    
    
        com.codingapi
        tx-plugins-db
        ${lcn.last.version}
    
    
    
    
        com.codingapi
        tx-plugins-nodb
        ${lcn.last.version}
    
    
    
    
        com.codingapi
        transaction-dubbo
        ${lcn.last.version}
          
    
    
        com.codingapi
        transaction-motan
        ${lcn.last.version}
      
    
    
    
        com.codingapi
        transaction-springcloud
        ${lcn.last.version}
        
            
    

    依賴gradle等形式,見中心庫

    http://mvnrepository.com/search?q=codingapi

    demo演示教程

    每個demo下有區(qū)分為 jdbc/hibernate/mybatis不同框架的版本demo

    springcloud版本

    dubbo版本

    motan版本

    技術(shù)交流群:554855843

     

    瀏覽 27
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    編輯 分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    編輯 分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    亚洲AV无码高清 | 亚洲中文av | 免费看片av在线 免费毛片a在线看 | 黄片乱伦视频 | 亚洲成人网站无码在线观看 |