1、一致性概念:
指分布式服务系统之间的弱一致性,包括应用系统的一致性和数据的一致性
数据量大,高并发要求高,强计算能力,响应速度要求快,等的互联网要求场景下,服务节点开始池化,开始出现容器应用和数据拆分,分而治之的思想和逻辑
水平拆分和垂直拆分
2、解决一致性问题的模式和思路
(1)酸碱平衡理论
①ACID(酸)
原子性,一致性,隔离性,持久性。
关系型数据库事务处理保证强一致性通常是通过多版本控制协议(MVCC)来实现的
下订单和扣库存不一致问题可以将订单和库存放入同一数据库分片,通过关系型数据库事务处理的4个基本要素ACID就可以解决这一不一致问题。
②CAP(帽子原理):分布式系统的CAP原理
一致性,可用性,分区容忍性
分布式的服务系统都需要满足分区容忍性(允许网络上部分消息丢失),但是必须在一致性(所有系统节点在同一时刻读取的数据必须是最新的数据副本)和可用性(好的响应性能,任何故障状态下,服务都会在有限时间内处理完成并进行响应)执行权衡,只能满足以上两点,不能三者兼顾。
③BASE(碱)
BASE思想解决了CAP提出的分布式系统一致性和可用性不可兼得的问题。
BA:基本可用,S:软状态,状态可以在一段时间内不同步,E:最终一致性;