CAP一致性理论

CAP一致性理论

CAP理论告诉我们,一个分布式系统不可能同时满足以下三种

  • 一致性(C: Consistency)

  • 可用性(A: Availability)

  • 分区容错性(P: Partition Tolerance)

这三个基本需求,最多只能同时满足其中的两项,因为P是必须的,因此往往选择就在CP或者AP中。

  1. 一致性(C: Consistency)
    在分布式环境中,一致性是指数据在多个副本之间是否能够保持数据一致的特性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。

  2. 可用性(A: Avalibility)
    可用性是指系统提供的服务必须一直处于可用的状态,对于用户的每一个操作请求总是能够在有限的时间内返回结果。

  3. 分区容错性(P: Partition Tolerance)
    分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障。

ZooKeeper 保证的是 CP

  1. ZooKeeper不能保证每次服务请求的可用性。(注:在极端环境下,ZooKeeper 可能会丢弃一些请求,消费者程序需要重新请求才能获得结果)。所以说,ZooKeeper 不能保证服务可用性。
  2. 进行Leader选举时集群都是不可用。

参考资料:https://www.bilibili.com/video/BV1to4y1C7gw


   转载规则


《CAP一致性理论》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Zookeeper知识点 Zookeeper知识点
介绍 Zookeeper Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。 Zookeepe
2021-11-07
下一篇 
基于 Rancher Kubernetes 1.17.17 搭建 Kubeflow 1.3 机器学习平台 基于 Rancher Kubernetes 1.17.17 搭建 Kubeflow 1.3 机器学习平台
基于 Rancher Kubernetes 1.17.17 搭建 Kubeflow 1.3 机器学习平台 假设机器上有 NVIDIA GPU,且已经安装高版本驱动。 安装 docker 安装过程参考[1] yum -y install yum-utils && \yum-config-manager --add-repo=https://download.docker.com/
2021-05-25
  目录