分布式系统漫谈【拾】_分布式事务一致性:阿里方案

本文介绍了阿里巴巴在分布式事务一致性方面的解决方案,包括柔性事务概念、补偿机制、异步处理和乐观锁。重点讲解了支付宝的XTS框架,它基于TCC模式实现,并需要开发人员实现补偿机制。此外,还介绍了TXC事务平台,它支持自动回滚,并通过记录数据修改信息来协调事务执行,降低了数据库锁的使用,提升了性能。
摘要由CSDN通过智能技术生成

 

上篇文章:分布式系统漫谈【玖】_分布式事务一致性:协议支持

 

其实对于生产环境的分布式事务一致,各大互联网公司都是自己实现的解决方案,总结起来无非是异步补偿实时查询定期校对几种模式,大部分场景都是使用到消息中间件。下面介绍下阿里对分布式事务一致的解决方案,内容总结自钟华老师的《企业IT架构转型之道 阿里巴巴中台战略思想与架构实战》,严重安利这本书,任何想向架构方向发展的同学,此书不可不读。购书链接如下:

 

 

 

柔性事务

 

阿里提出了柔性事务的概念。柔性事务的思想就是,尽量在处理分布式事务的时候不引入锁而增加时间开销(对比两阶段提交协议),也不要增加其他额外的时间延迟(Paxos协议需要多台机器确认议案)。考虑通过补偿、异步和乐观锁等方式,来实现事务的最终一致性。

 

补偿

柔性事务的补偿机制主要由日志保证。事务日志记录事务的开始、结束状态,可能还包括事务参与者信息。参与者节点也需要根据重做或回滚记录redo/undo日志,当事务重试或回滚时,可以根据这些日志最终将数据恢复到一致状态。

 

异步

由于引入了异步操作,因此需要消息中间件保证可靠的消息传递:事务消息至少投递一次,可能投递多次。这还要求消息处理程序必须实现幂等。幂等就是对于同一操作反复执行多次,响应或计算的结果不变。

 

乐观锁

可以避免长事务中的数据库加锁开销,大大提升了高并发量下的系统整体性能。其实乐观锁的实现,就是类似之前在多线程系列文章中讲的cas操作,对需要并发更新的数据增加版本号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值