1 CAP定理
CAP,是一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)三个英文单字首字母的缩写,是分布式系统设计中应用最为广泛的技术理论之一,代表着分布式系统设计中三个最重要的实现瓶颈,而且CAP三者中只能选择其中两种进行实现,这两种一般是CP和AP,具体细节,请看下文分解:
2 翻译翻译什么是一致性、可用性、分区容错性
2.1 一致性(Consistency)
概念:指分布式系统的各个子节点的数据在同一时刻保持一致。
图解:
2.2 可用性(Availability)
概念:
- 指只要用户向系统发起请求,系统就必须给予请求进行响应,无论对错与否。
- 指多个节点中出现一个或多个节点的宕机情况,剩余可用节点依然能支持用户的访问和处理。
图解:
解释一:指多个节点中出现一个或多个节点的宕机情况,剩余可用节点依然能支持用户的访问和处理。
解释二:指只要用户向系统发起请求,系统就必须给予请求进行响应,无论对错与否。
2.3 分区容错性(Partition tolerance)
概念:指在不同网络的分布式服务子系统节点之前出现问题时,系统依然能保持运行。
图解:
3 为什么CAP不能兼得
一句话解释:若确保一致性则必须加锁,此时被加锁节点等同于不可用
扩展:为什么必须要考虑P?
因为网络通信的问题涉及到硬件和三方等多种外在因素,因此必须要考虑分区错误的发生。
4 如何使CAP兼得(基本兼得)
答案:BASE理论
BASE理论是对CAP的延伸,特别是对AP的延伸,BASE理论将CAP理论中的可用性改变为基本可用,将一致性改为最终一致性。
由于时间关系,请读者等待下次单独分析哈~
5 扩展:常用分布式服务中心的CAP性质
Nacos | Eureka | Consul | Zookeeper |
---|---|---|---|
CP、AP | AP | CP | CP |