分布式事务

本文探讨了短事务确保强一致性的几种协议,包括2阶段提交、TCC及3阶段提交,并介绍阿里seata的开源实现。此外,文章还讨论了微服务环境下事务处理的原则,包括使用本地ACID事务建模、事务补偿机制、最终一致性和异步响应式设计等。同时对比了协同saga与编排saga的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

短事务强一致性

2阶段提交协议

 

TCC协议

 

3阶段提交协议

 

开源实现

阿里seata

上面提到的3个一致性协议,比较适用于短事务以保证期强一致性,在使用过程中,容易影响性能和可用性

 

微服务时代的事务处理原则

  1. 假定网络或者服务是不可靠的
  2. 将全局事务建模成一组本地ACID事务
  3. 引入事务补偿机制处理失败场景
  4. 事务始终处在一个明确的状态(不管成功还是失败)
  5. 最终一致性
  6. 考虑隔离性
  7. 考虑幂等性
  8. 异步响应式,尽量避免直接同步调用

协同saga

依赖执行和回滚状态机

优点:

没有单点问题

缺点:

增加、删除状态上下游都需要发生变化

编排saga

有集中编排统一安排执行或者回滚

saga不保证隔离性

语义锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值