时间:2022-09-14 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{支付宝蚂蚁金服——基于 XA 的分布式事务场景}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的支付宝蚂蚁金服——基于 XA 的分布式事务场景内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
XA 协议在架构上与 TCC 模型相比,最大的不同是 XA 直接作用于资源层,而后者作用于服务层。 资源层更普适,但是为了适应各种业务想学营销策划场景使用,需要严格遵循事务 ACID 规范;服务层更接近业务,可以针对不同业务做特定的优化处理,追求更高的极限性能。 当然,并不是说 XA 协议只能作用于单个服务内部的多资源场景,跨服务的多资源场景也是可以的,只不过同样需要额外的事务传递机制。 XA 协议通过每个资源管理器(Resource Manager)的本地事务隔离性来保证全局隔离,并且需要通过串行化隔离级别来保证分布式事务一致性。但是,串行化隔离级别存在一定的性能问题,如下所示: 在串行化隔离级别下,会为本来不加锁的 select 快照读操作都加上读锁,导致锁持有时间增加,并发性能进一步降低。当实现了无锁的全局一致性读取以后,比如分布式 MVCC,可以大幅减少锁持有时间,并发性能会获得较大提升。 但是不管怎么优化实现,分布式事务的热点数据并发性能最高就是趋近于单机本地事务。所以,无论是基于 XA 协议实现的分布式事务,还是单机本地事务,都是存在热点数据并发性能极限的。 那么 XA 协议最大的作用是什么呢?其最大的作用在于数据库资源横向扩展时,能保证多资长沙专业的公关传播价格源访问的事务属性。 当单台资源管理器达到资源性能瓶颈,无法满足业务增长需求时,就需要横向扩展资源,形成资源管理器集群。通过横向扩展资源,提升非热点数据的并发性能,这对于大体量的互联网产品来说,是至关重要的。
以上图为例,假设单台资源管理器的非热点数据并发性能为 100 TPS,那么 5台资源管理器就是 500 TPS,就算一个分布式事务平均涉及 2 台资源管理器,也有 250 TPS,提升了 2.5 倍的非热点并发能力。 综上所述,基于 XA 协议实现的分布式事务并不能提升热点并发性能,其意义在于横向扩展资源提升非热点数据并发性能时,能严格保证对多资源访问时的事务 ACID 特性。 至于热点数据并发性能问题,对于一般的应用来说,经过 SQL 层面一定的性能优化之后,其并发性能基本就能够满足业务的需求。如果经过优化,达到性能极限之后,还不能满足业务需求,就需要上升到业务层面,根据业务特点,通过专门的业务逻辑或业务架构优化来实现。 直接在资源层实现分布式事务的另外一点好处是其普适性,可以对上层业务屏蔽底层实现细节。这一点在云服务时代特别有用,云服务面对的是大量的中小企业,甚至是个人开发者,业务诉求不尽相同,普适、标准的分布式事务产品是非常有必要的,可以让开发者从底层技术细节中脱离出来,更专注于业务逻辑的实现,从而获得更高效、快速的业务发展。 若有收获,就赏束稻谷吧 |
上一篇:支付宝蚂蚁金服——基于通用 TCC 的分布式事务场
下一篇:支付宝蚂蚁金服-柔性事务的定义与分类
小提示:您应该对本页介绍的“支付宝蚂蚁金服——基于 XA 的分布式事务场景”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通支付宝蚂蚁金服——基于 XA 的分布式事务场景的相关事宜。
关键词:支付宝蚂蚁金服