当前位置: 代码迷 >> 综合 >> [System Design] CAP Theorem, AP,CP
  详细解决方案

[System Design] CAP Theorem, AP,CP

热度:50   发布时间:2024-01-18 08:12:26.0

CAP 理论

在分布式系统里面,CAP肯定是必须知道的,对于系统设计也会经常遇到partition的问题,某个service被隔离了,这时候就得用上CAP理论。

CAP 定义

P

Partition tolerance: The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes
P就是在分布式环境中,由于网络的问题可能导致某个节点和其它节点失去联系,这时候就形成了P(partition),也就是由于网络问题,将系统的成员隔离成了2个区域,互相无法知道对方的状态,这在分布式环境下是非常常见的。

A

Availability: Every request receives a (non-error) response, without the guarantee that it contains the most recent write
此时,那个失去联系的节点依然可以向系统提供服务,不过它的数据就不能保证是同步的了(失去了C属性)。

C

Consistency: Every read receives the most recent write or an error
为了保证数据库的一致性,我们必须等待失去联系的节点恢复过来,在这个过程中,那个节点是不允许对外提供服务的,这时候系统处于不可用状态(失去了A属性)。

ZooKeeper 是CP类型的。

  相关解决方案