SpringCloud - LCN分布式事务框架

官网:http://www.txlcn.org/

SpringCloud - LCN分布式事务框架_第1张图片

LCN原理:https://github.com/codingapi/tx-lcn/wiki/LCN%E5%8E%9F%E7%90%86

入门测试:

1.启动redis服务

注意:自己的是否配置过密码,否则会导致最后测试失败

SpringCloud - LCN分布式事务框架_第2张图片

​​​​2.启动eureka服务

 SpringCloud - LCN分布式事务框架_第3张图片

3.启动tx-manager

1.下载资源:https://github.com/codingapi/tx-lcn

2.先配置:

SpringCloud - LCN分布式事务框架_第4张图片

 SpringCloud - LCN分布式事务框架_第5张图片

3.然后启动 - cmd执行命令  java -jar tx-manager-4.1.0.jar

SpringCloud - LCN分布式事务框架_第6张图片

4.测试:http://127.0.0.1:8899/

SpringCloud - LCN分布式事务框架_第7张图片

4.配置client客户端

Tx-client:

4.1.0
 

    com.codingapi
    tx-plugins-db
    {lcn.last.version}


   com.codingapi
   transaction-springcloud
   {lcn.last.version}

配置:

SpringCloud - LCN分布式事务框架_第8张图片

也可看官方案例 - 两个client配置

演示:可下载官方给出的springcloud LCN分布式事务示例demo --> https://github.com/codingapi/springcloud-lcn-demo

SpringCloud - LCN分布式事务框架_第9张图片

①  

Controller:

SpringCloud - LCN分布式事务框架_第10张图片

service:

SpringCloud - LCN分布式事务框架_第11张图片

②中可看具体案例:

然后数据库建库建表

  SpringCloud - LCN分布式事务框架_第12张图片SpringCloud - LCN分布式事务框架_第13张图片

最后运行测试:启动 

访问http://127.0.0.1:7001/   

SpringCloud - LCN分布式事务框架_第14张图片

http://127.0.0.1:8083/demo/save 数据库会多出2条数据

SpringCloud - LCN分布式事务框架_第15张图片

放开demo1中异常SpringCloud - LCN分布式事务框架_第16张图片  回滚数据没有数据添加

SpringCloud - LCN分布式事务框架_第17张图片

如果没有异常数据库两条数据添加(test和test1库中各1条)

  SpringCloud - LCN分布式事务框架_第18张图片SpringCloud - LCN分布式事务框架_第19张图片

 

demo2

①分布式事务起始服务方

@Transactional
@TxTransaction(isStart = true)
public int addAcount(String logId){
   int i = yiViUserAccountMapper.increaseAccount("100","71d8beff-9e70-11e7-9a60-00163e0a3457");
 
   int n =  paymentDispatchFeignClient.test(logId); //调用失败
 
   if(n == 0){
       throw new RuntimeException("服务调用失败");
   }
    return i + n;
}

②被调用服务方

@Override
@Transactional
@TxTransaction
public int test(String logId) throws YiViException {
    int i = yiViDispatchOrderStatusLogMapper.deleteByPrimaryKey(logId);
    return i;
}

具体可下载源码分析哦:https://pan.baidu.com/s/19IzIYiccV3vkDrnt8hjGeQ
--------------------- 
转自:https://blog.csdn.net/qq_38225558/article/details/86133637 
 

你可能感兴趣的:(SpringCloud,事务)