短事务强一致性
2阶段提交协议
TCC协议
3阶段提交协议
开源实现
阿里seata
上面提到的3个一致性协议,比较适用于短事务以保证期强一致性,在使用过程中,容易影响性能和可用性
微服务时代的事务处理原则
- 假定网络或者服务是不可靠的
- 将全局事务建模成一组本地ACID事务
- 引入事务补偿机制处理失败场景
- 事务始终处在一个明确的状态(不管成功还是失败)
- 最终一致性
- 考虑隔离性
- 考虑幂等性
- 异步响应式,尽量避免直接同步调用
协同saga
依赖执行和回滚状态机
优点:
没有单点问题
缺点:
增加、删除状态上下游都需要发生变化
编排saga
有集中编排统一安排执行或者回滚
saga不保证隔离性
语义锁
本文探讨了短事务确保强一致性的几种协议,包括2阶段提交、TCC及3阶段提交,并介绍阿里seata的开源实现。此外,文章还讨论了微服务环境下事务处理的原则,包括使用本地ACID事务建模、事务补偿机制、最终一致性和异步响应式设计等。同时对比了协同saga与编排saga的特点。
1789

被折叠的 条评论
为什么被折叠?



