分布式事务:中间件方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fly910905/article/details/87356755

TX-LCN   

https://www.txlcn.org/zh-cn/

高性能的分布式事务框架

兼容dubbo、springcloud框架,支持RPC框架拓展,支持各种ORM框架、NoSQL、负载均衡、事务补偿

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

事务模式说明:

  1. TCC是用户自己实现提交回滚业务,
  2. LCN是框架代理JDBC Connection实现提交回滚业务,
  3. TXC是框架分析业务SQL提前提交,在需要回滚时生成逆向回滚。

TCC忽略不说。LCN与TXC两种框架实现的事务模式到底那个更优越呢?

理论上,在并发量大,资源相对紧张时,TXC要优于LCN,但从目前测试上来说,结果却非如此,LCN还是稍优于TXC。同时TXC还限制了业务SQL形式,未做到完全逆向 后续版本将会着重优化TXC,包括性能上和SQL的完全逆向上。


atomikos  

https://www.atomikos.com/

开源类事务管理器

GTS  

https://www.aliyun.com/aliware/txc?spm=5176.8142029.388261.386.a72376f4lqvQxv

全局事务服务(Global Transaction Service ,简称GTS)用于实现分布式环境下高性能事务一致性。可以与DRDS、RDS、MySQL、PostgreSQL等数据源,EDAS、Dubbo及其他RPC框架,MQ消息队列等中间件产品配合使用,轻松实现分布式数据库事务、多库事务、消息事务、服务链路级事务及各种组合。

FESCAR (推荐)   

https://github.com/alibaba/fescar/wiki/%E6%A6%82%E8%A7%88

Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题。

  • 2014 年,阿里中间件团队发布 TXC(Taobao Transaction Constructor),为集团内应用提供分布式事务服务。
  • 2016 年,TXC 经过产品化改造,以 GTS(Global Transaction Service) 的身份登陆阿里云,成为当时业界唯一一款云上分布式事务产品,在阿云里的公有云、专有云解决方案中,开始服务于众多外部客户。
  • 2019 年起,基于 TXC 和 GTS 的技术积累,阿里中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback, FESCAR),和社区一起建设这个分布式事务解决方案。

TXC/GTS/Fescar 一脉相承,为解决微服务架构下的分布式事务问题交出了一份与众不同的答卷。

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/87356755