分布式事务
事务的四大原则:
- 原子性:要不一起提交成功,要不一起失败回滚
- 一致性:保证数据库修改前后的结果没有缺斤少两,假如银行账号有100元,然后抽取50块,若提交成功账号变为50元,若不成功回滚账号还是原来的100
- 隔离性:对同一个事务不能同时操作
- 持久性:对数据库进行的修改将永久保存,不管什么状况
分布式事务:一个业务需要不同的连接操作不同的数据库,这些数据库要不同时成功,要不同时失败,分布式事务由本地事务组成
分布式事务出现的问题:若是库存有10单,然后金额有1000元。若拿出2单然后金额为800元,库存变为8单,然后之后取出十单出现错误,但是由于库存不足但是金额出现啦减少的数据错误,违背啦事务的一致性和原子性。
理论基础
CAP定理
- Consistency(一致性)
- Availability(可用性)
- Partition tolerance (分区容错性)
在当今网络时代不存在CA模式(单机),大多数都是AP和CP。因此出现一致性和可用性不能同时保证的情况(分区容错性是必然存在的),A和C只能存在一个
如果此时要保证一致性,就必须等待网络恢复,完成数据同步后,整个集群才对外提供服务&#x