文章目录
概念
事务是单个逻辑单元组成的一组操作,执行这组操作时要么全成功,要么全失败。事务的特性包含一致性、原子性、隔离性和持久性。 原子性是指这组操作是一个整体,要么不执行,要么全部执行完,中间出现任何情况的打断(如意外断电)这组事务都不成功。 隔离性是指两组事务操作同一份数据是互补想干,就像隔离操作似的。 持久性是指事务提交后就永久的修改数据了。 一致性是指事务执行前后原来一致的数据和数据库仍然是一致的。比如订单表里增加了一个订单那么库存表里肯定是减少一份库存的。分布式事务就是在分布式系统中的,组成事务的这一组操作是在不同的节点上,需要保证事务的 AICD 特性。
理论
CAP
在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)3 个要素最多只能同时满足两个,不可兼得。其中,分区容忍性又是不可或缺的。也就说要么是AP要么是CP。
分区容忍性就是指分布式系统中肯定会出现系统异常,设计时要充分考虑好可能会发生异常,做好解决异常的备用方法。
一致性和上面讲的一致性是同样的意思。
可用性是指无论什么时候不会发生锁表的情况。这也正是A和C不能共存的原因。如果满足了一致性则写表时肯定会锁表,如果满足了可用性则肯定不能锁表。
BASE
BASE理论的核心