如何实现SpringBoot结合Dubbo与Seata的分布式事务管理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1360个文字,预计阅读时间需要6分钟。
1. 分布式事务初探:通常来说,目前市场上的数据库都支持本地事务,即本地事务+本地操作。在应用中,若在一个数据库连接下进行操作,可以很方便地实现事务的操作。然而,基于SOA的思想,当前面临挑战。
1. 分布式事务初探
一般来说,目前市面上的数据库都支持本地事务,也就是在你的应用程序中,在一个数据库连接下的操作,可以很容易的实现事务的操作。
但是目前,基于SOA的思想,大部分项目都采用微服务架构后,就会出现了跨服务间的事务需求,这就称为分布式事务。
本文假设你已经了解了事务的运行机制,如果你不了解事务,那么我建议先去看下事务相关的文章,再来阅读本文。
1.1 什么是分布式事务
对于传统的单体应用而言,实现本地事务可以依赖Spring的@Transactional注解标识方法,实现事务非常简单。
我们以最常见的电商系统为例,简单拆分为用户客户端、订单服务、库存服务、商品服务等等,在用户下单过程中,需要同时调用各个服务,但是,每个服务都是独立部署的,数据库连接是不共享的,因此要保证这些操作全部执行,或者全部不执行,就需要分布式事务的支持。
本文共计1360个文字,预计阅读时间需要6分钟。
1. 分布式事务初探:通常来说,目前市场上的数据库都支持本地事务,即本地事务+本地操作。在应用中,若在一个数据库连接下进行操作,可以很方便地实现事务的操作。然而,基于SOA的思想,当前面临挑战。
1. 分布式事务初探
一般来说,目前市面上的数据库都支持本地事务,也就是在你的应用程序中,在一个数据库连接下的操作,可以很容易的实现事务的操作。
但是目前,基于SOA的思想,大部分项目都采用微服务架构后,就会出现了跨服务间的事务需求,这就称为分布式事务。
本文假设你已经了解了事务的运行机制,如果你不了解事务,那么我建议先去看下事务相关的文章,再来阅读本文。
1.1 什么是分布式事务
对于传统的单体应用而言,实现本地事务可以依赖Spring的@Transactional注解标识方法,实现事务非常简单。
我们以最常见的电商系统为例,简单拆分为用户客户端、订单服务、库存服务、商品服务等等,在用户下单过程中,需要同时调用各个服务,但是,每个服务都是独立部署的,数据库连接是不共享的,因此要保证这些操作全部执行,或者全部不执行,就需要分布式事务的支持。

