分布式事务
Posted 刘大飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式事务相关的知识,希望对你有一定的参考价值。
一 微服务主要困难
- 单体应用拆分为分布式系统后,进程间的通讯机制和故障处理措施变的更加复杂。
- 系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现,服务调用的分布式事务问题变的非常突出。
- 微服务数量众多,其测试、部署、监控等都变的更加困难。
对于第一个问题:参考 http://www.cnblogs.com/liufei1983/p/9033587.html。,
对一个第三个问题: docker, k8s,devops等的成熟,也变得比较容易实现。
而对于第二个问题,现在还没有通用方案很好的解决微服务产生的事务问题。分布式事务已经成为微服务落地最大的阻碍,也是最具挑战性的一个技术难题。
二 传统的分布式事务的解决方案
- 基于XA的两阶段提交:
- TCC方案:Try、Confirm、Cancel
- 基于消息的最终一致性:通过消息中间件保证上、下游应用数据操作的一致性。基本思路是将本地操作和发送消息放在一个事务中,保证本地操作和消息发送 要么两者都成功或者都失败。下游应用向消息系统订阅该消息,收到消息后执行相应操作。
三 高性能全局事务服务GTS
未完待续
以上是关于分布式事务的主要内容,如果未能解决你的问题,请参考以下文章