前言
从事IT代码工作,就不得不与数据库打交道,尤其是后端程序员,肯定是要和数据库打交道的,和数据库打交道的过程中有一个非常重要的概念就是事务,一般单体系统连接一个数据库的情况可以称之为本地事务,那么与之相对的就是分布式事务
本节主要介绍事务、分布式事务
一、事务
事务通常是指和数据库之间的交互的一次会话,也就是一系列对系统中数据进行访问与更新的操作所组成的。当然这是狭义上的解释
事务更多的作用是一种隔离,以防止彼此的操作互相干扰,这类似于java中的线程锁,防止多个独立的连接请求对一个共享资源的竞争,导致的不可测结果。
事务可以分为本地事务和分布式事务。
1 本地事务
本地事务,可以理解为使用数据库本身的事务支持来完成事务操作,比如mysql的innoDB,因为一般本地事务是指一个单体项目和一个数据库之间存在一个交互,那么就可以使用数据库本身事务来支持了。
这里提到数据库事务,就要提到数据库事务的四大特性,ACID。何为ACID,
来个传送门
2 分布式事务
分布式事务一般是指在分布式架构中,为了保持事务特性,来定义的一种事务规则。
首先,分布式架构会将一个应用拆分为多个独立部署的Module,往往一个业务线是需要经过多个服务的,那么这个