分布式理论基础:CAP与BASE理论
CAP: consistency availability partition
CAP
consistency强一致性
所有节点在同一时间的数据完全一致
availability 可用性
服务一直可用,即使部分节点故障了,整体服务还是能提供正常的响应
partition tolerance 分区容错性
分布式系统在遇到部分节点或网络分区故障时,仍然能够对外提供满足一致性和可用性的服务。
常用的中间件满足
分布式系统天然满足分区容错性,cap只能同时满足两者,那么也就只能是CP,AP。
redis是AP保证高可用、分区容错
zk是CP保证强一致性、分区容错性
BASE
如果部分节点失效,允许损失部分可用性,保证核心可用。
软状态
允许系统存在中间状态,而该状态不影响系统整体可用性。
最终一致性
所有子节点,经过一定时间,数据最终能够达到一致性。
mysql传统数据库时追求强一致性模型的,所以他的性能不高,每秒只有几千个QPS。