分布式事务框架详解(6大分布式事务框架)

分布式事务框架详解(6大分布式事务框架)-mikechen

分布式事务分布式系统很常见,但是很多同学不了解有哪些分布式事务框架,下面重点详解4个开源的分布式事务框架。

Seata

Seata是蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。

官网地址:http://seata.io

分布式事务框架详解(6大分布式事务框架)-mikechen

Seata提供了四种不同的分布式事务解决方案:

1.XA模式

强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入。

2.TCC模式

最终一致的分阶段事务模式,有业务侵入。

3.AT模式

最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式。

4.SAGA模式

长事务模式,有业务侵入。

更加详细的分布式事务解决方案,请查看:最全分布式事务解决方案详解

Seata 架构如下图所示:

分布式事务框架详解(6大分布式事务框架)-mikechen

Seata定义了3个核心组件:

1.TC(Transaction Coordinator)

事务协调器,直接调度事务参与者RM,主要负责维护全局事务和分支事务的状态。

2.TM(Transaction Manager)

事务管理器,它是事务的发起者,比如:具体的微服务。

3.RM(Resource Manager)

资源管理器,其实就是事务的参与者。

以上三个组件相互协作,TC 以 Seata 服务器(Server)形式独立部署,TM 和 RM 则是以 Seata Client 的形式集成在微服务中运行。

整体工作流程如图:

分布式事务框架详解(6大分布式事务框架)-mikechen

除了分布式事务框架Seata用的比较多,还会有如下的分布式事务框架,下面也做一个简介。

ByteTCC

ByteTCC:美团点评开源的分布式事务框架,基于TCC补偿机制实现,支持高性能和高可用,提供了丰富的API接口和工具支持。

 

Nacos-AT

阿里巴巴开源的分布式事务框架,基于TCC补偿机制实现,可与Nacos和Spring Cloud等分布式框架无缝集成。

 

SkyWalking-Tx

SkyWalking-Tx:Apache SkyWalking社区开源的分布式事务框架,支持TCC和Saga等事务模式,提供了完善的监控和追踪功能。

 

TCC-Transaction

TCC-Transaction:华为开源的分布式事务框架,基于TCC补偿机制实现,支持高性能和高可用,提供了简单易用的API接口和工具支持。

 

Atomikos

Atomikos:开源的Java事务管理器,支持XA协议,可用于实现分布式事务的控制和管理,提供了简单易用的API接口和工具支持。

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法