tx-lcnLCN 分布式事务

联合创作 · 2023-10-01 07:05

LCN分布式事务


"LCN并不生产事务,LCN只是本地事务的搬运工"


框架介绍


LCN分布式事务框架是一款事务协调性的框架,框架本身并不创建事务,只是对本地事务做协调控制。因此该框架与其他第三方的框架兼容性强,支持所有的关系型数据库事务,支持多数据源,支持与第三方数据库框架一块使用(例如 sharding-jdbc),在使用框架的时候只需要添加分布式事务的注解即可,对业务的侵入性低。LCN框架主要是为微服务框架提供分布式事务的支持,在微服务框架上做了进一步的事务机制优化,在一些负载场景上LCN事务机制要比本地事务机制的性能更好,4.0以后框架开方了插件机制可以让更多的第三方框架支持进来。


官方网址


https://www.txlcn.org


框架特点



  1. 支持各种基于spring的db框架

  2. 兼容SpringCloud、Dubbo、motan

  3. 使用简单,低依赖,代码完全开源

  4. 基于切面的强一致性事务框架

  5. 高可用,模块可以依赖RPC模块做集群化,TxManager也可以做集群化

  6. 支持本地事务和分布式事务共存

  7. 支持事务补偿机制,增加事务补偿决策提醒

  8. 添加插件拓展机制


原理介绍


原理介绍 视频讲解


目录说明


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


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


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


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


tx-manager 是LCN 分布式事务协调器


tx-plugins-db 是LCN 对关系型数据库的插件支持


tx-plugins-nodb 是LCN 对于无数据库模块的插件支持


tx-plugins-redis 是LCN 对于redis模块的插件支持(功能暂未实现)


使用说明


分布式事务发起方:



@Override
@TxTransaction
@Transactional
public boolean hello() {
//本地调用
testDao.save();
//远程调用方
boolean res = test2Service.test();
//模拟异常
int v = 100/0;
return true;
}



分布式事务被调用方(test2Service的业务实现类)



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


如上代码执行完成以后两个模块都将回滚事务。


说明:在使用LCN分布式事务时,只需要将事务的开始方法添加@TxTransaction注解即可。详细见demo教程


关于@TxTransaction 使用说明


@TxTransaction注解是分布式事务的标示。


若存在业务方法:a->b b->c b->d,那么开启分布式事务注解的话,只需要在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下有区分为 jdbc/hibernate/mybatis不同框架的版本demo


springcloud版本


dubbo版本


motan版本


技术交流群:554855843


 

浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报