目录
一、前言
微服务架构的大规模应用随之带来的一个问题就是传统的单体事务演化为分布式事务,因为各个微服务都将拥有自己独立的数据库,以springcloud技术栈的架构来说,微服务间互相调用时,当前的服务调用方无法保证被调用方的事务处理是否一定能成功,这就是分布式事务的问题起源。
二、事务简介
为了更好的理解分布式事务原理,再次回顾下事务的几个特性
事务的4个特性:原子性、一致性、隔离性、持久性,这四个属性通常称为ACID特性
2.1 原子性
一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做
2.2 一致性
事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的
2.3 隔离性
一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,