我是靠谱客的博主 还单身老师,最近开发中收集的这篇文章主要介绍CAP与数据一致性,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CAP定理

一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)这三项中的两项。

  • Consistency(数据一致性):分布式场景下,只要存在数据冗余/副本,就需要考虑数据一致性问题;
  • Availability(系统可用性):系统/服务的可用性,一般通过不可用时间来衡量,如下所示;
  • Partition Tolerance(分区容错性):网络出现局部故障时(如丢包、乱序、抖动、甚至是网络分区节点 crash ),系统能否仍然提供满足一致性和可用性的服务;
    在这里插入图片描述

CP or AP

  在实际环境中,网络问题往往是最不可控的,只能通过提升基础设施的稳定性或者搭建私有环境等手段尽量避免,因此往往是根据实际场景在CA两者之间进行权衡。BASE理论实际就是AP,牺牲强一致性,保证最终一致性。

数据一致性

  数据的一致性可以分为弱一致性和强一致性,实际中使用的弱一致性都是最终一致性(数据副本间允许短时间的不一致),强一致性的实现目前主流的是Paxos、ZAB和Raft。

最终一致性

  最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

参考:

  1. 分布式系统的CAP理论

最后

以上就是还单身老师为你收集整理的CAP与数据一致性的全部内容,希望文章能够帮你解决CAP与数据一致性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部