Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 14.1 分布式事务概述

14.1 分布式事务概述

在构建微服务的过程中,不管是使用什么框架、组件来构建,都绕不开一个问题,跨服务的业务操作如何保持数据一致性。

14.1.1 什么是分布式事务?

首先,设想一个传统的单体应用,无论多少内部调用,最后终归是在同一个数据库上进行操作来完成一向业务操作,如图14-1:

图14-1

随着业务量的发展,业务需求和架构发生了巨大的变化,整体架构由原来的单体应用逐渐拆分成为了微服务,原来的3个服务被从一个单体架构上拆开了,成为了3个独立的服务,分别使用独立的数据源,也不在之前共享同一个数据源了,具体的业务将由三个服务的调用来完成,如图14-2:

图14-2

此时,每一个服务的内部数据一致性仍然有本地事务来保证。但是面对整个业务流程上的事务应该如何保证呢?这就是在微服务架构下面临的挑战,如何保证在微服务中的数据一致性。

14.1.2 事务的四大特性ACID

说到事务就绕不开ACID,那么什么是ACID呢?ACID其实是四个字母的缩写,Atomicity、Consistency、Isolation、Dur

猜你喜欢

转载自blog.csdn.net/meteor_93/article/details/105470043