目录
1.事务是什么?
事务其实是一种要做或想做的事情.事务主要由事务开始和事务结束两部分组成.
2.事务的特性
分为四种:
原子性:要不全部成功,要不全部失败
一致性:要保证数据库内部完整性约束,声明性约束
隔离性:对同一资源操作的事务不能同时发生
持久性:对数据库做出一切修改都会永久保存,不管是否出现故障
3.为什么要有分布式事务?
由于互联网的发展迅速,导致网站或应用面临巨大的访问压力.如果将事务都放到一个数据库里面,会造成数据库崩掉,造成更大的损失.为了避免这样的损失,就有了分布式事务.
4.分布式事务是什么?
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。
5.分布是事务的理论
1.CAP定理
分为三指标
Consistency(一致性):
用户访问分布式系统中的任意节点,得到的数据必须一致。
Availability(可用性):
用户访问集群中的任意健康节点,必须能得到响应,而不是超时或拒绝。
Partition tolerance (分区容错性):
Partition(分区):因为网络故障或其它原因导致分布式系统中的部分节点与其它节点失去连接,形成独立分区。
Tolerance(容错):在集群出现分区时,整个系统也要持续对外提供服务。容忍出现分区的问题
主要介绍的部分就CP 和AP
CP :保障节点的数据一致性,在没有没有保障数据一致性之前,不允许对外提供访问
AP : 在任何时间内,节点的数据都能对外访问,但访问的数据可能不一样
CA : 不能同时出现
多个节点要想数据一致,需要时间同步。那么在这个时间内,一定不能对外访问,所以A不成立。如果可以对外访问,那么数据就不一致,所以C就不成立了.
如果一定要满足CA,那就没有P,也就不是分布式环境了,是单节点
2.BASE理论
BASE理论是对CAP的一种补充
主要的目的是放弃强一致性,追求最终一致性.
它的三个思想
Basically Available(基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。
Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。
6.Seata
1.seata架构
TC 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚
TM 事务管理器:定义全局事务的范围,开始全局事务,提交或回滚全局事务
RM 资源管理器:管理分支事务处理的资源,与TC交谈已注册分支事务和报告分支事务的状态.