概述
CAP定理
一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)这三项中的两项。
- Consistency(数据一致性):分布式场景下,只要存在数据冗余/副本,就需要考虑数据一致性问题;
- Availability(系统可用性):系统/服务的可用性,一般通过不可用时间来衡量,如下所示;
- Partition Tolerance(分区容错性):网络出现局部故障时(如丢包、乱序、抖动、甚至是网络分区节点 crash ),系统能否仍然提供满足一致性和可用性的服务;
CP or AP
在实际环境中,网络问题往往是最不可控的,只能通过提升基础设施的稳定性或者搭建私有环境等手段尽量避免,因此往往是根据实际场景在CA两者之间进行权衡。BASE理论实际就是AP,牺牲强一致性,保证最终一致性。
数据一致性
数据的一致性可以分为弱一致性和强一致性,实际中使用的弱一致性都是最终一致性(数据副本间允许短时间的不一致),强一致性的实现目前主流的是Paxos、ZAB和Raft。
最终一致性
最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。
参考:
- 分布式系统的CAP理论
最后
以上就是还单身老师为你收集整理的CAP与数据一致性的全部内容,希望文章能够帮你解决CAP与数据一致性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复