美文网首页
分布式CAP

分布式CAP

作者: 杜子龙 | 来源:发表于2021-02-09 14:35 被阅读0次

    一致性(Consistency)

    在分布式系统完成某写操作后的任何读操作,都应该获取到该写操作写入的那个最新值。相当于要求分布式系统中的各节点时时刻刻保持数据的一致性。

    可用性(Availability)

    一直可以正常的读写操作。简单而言就是客户端一直可以正常访问并得到系统的正常响应。用户角度来看就是不会出现系统操作失败或者访问超时等问题。

    分区容错性(Partition Tolerance)

    指的是分布式系统中的某个节点或者网络分区出现故障的时候,整个系统仍然可以对外提供满足一致性和可用性的服务。也就是说部分故障不影响整体使用。
    事实上我们在设计分布式系统时都会考虑到bug,硬件,网络等各种原因造成的故障,所以即使部分节点或者网络出现故障,我们要求整个系统还是要继续使用。

    CAP三者不可兼得,该如何取舍:

    • CA:优先保证一致性和可用性,放弃分区容错性。这也意味着放弃系统的扩展性,系统不再是分布式的,有违设计的初衷。
    • CP:优先保证一致性和分区容错性,放弃可用性。在数据一致性要求比较高的场合(比如:zk,HBase)是比较常见的做法,一旦发生网络故障或者消息丢失,就会牺牲用户体验,等恢复之后用户才逐渐能访问。
    • AP:优先保证可用性和分区容错性,放弃一致性。放弃一致性不是说一致性就不保证了,而是逐渐变得一致,即最终一致性。

    相关文章

      网友评论

          本文标题:分布式CAP

          本文链接:https://www.haomeiwen.com/subject/jixcxltx.html