翻译翻译,什么是CAP

简介: CAP,是一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)三个英文单字首字母的缩写,是分布式系统设计中应用最为广泛的技术理论之一,代表着分布式系统设计中三个最重要的实现瓶颈,而且CAP三者中只能选择其中两种进行实现,这两种一般是CP和AP,具体细节,请看下文分解:

1 CAP定理

CAP,是一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)三个英文单字首字母的缩写,是分布式系统设计中应用最为广泛的技术理论之一,代表着分布式系统设计中三个最重要的实现瓶颈,而且CAP三者中只能选择其中两种进行实现,这两种一般是CP和AP,具体细节,请看下文分解:

2 翻译翻译什么是一致性、可用性、分区容错性

2.1 一致性(Consistency)

概念:指分布式系统的各个子节点的数据在同一时刻保持一致。

图解
image.png

2.2 可用性(Availability)

概念

  • 指只要用户向系统发起请求,系统就必须给予请求进行响应,无论对错与否。
  • 指多个节点中出现一个或多个节点的宕机情况,剩余可用节点依然能支持用户的访问和处理。

图解

解释一:指多个节点中出现一个或多个节点的宕机情况,剩余可用节点依然能支持用户的访问和处理。

image.png

解释二:指只要用户向系统发起请求,系统就必须给予请求进行响应,无论对错与否。
image.png

2.3 分区容错性(Partition tolerance)

概念:指在不同网络的分布式服务子系统节点之前出现问题时,系统依然能保持运行。

图解

image.png

3 为什么CAP不能兼得

一句话解释:若确保一致性则必须加锁,此时被加锁节点等同于不可用

扩展:为什么必须要考虑P?

因为网络通信的问题涉及到硬件和三方等多种外在因素,因此必须要考虑分区错误的发生。

4 如何使CAP兼得(基本兼得)

答案:BASE理论

BASE理论是对CAP的延伸,特别是对AP的延伸,BASE理论将CAP理论中的可用性改变为基本可用,将一致性改为最终一致性。

由于时间关系,请读者等待下次单独分析哈~

5 扩展:常用分布式服务中心的CAP性质

Nacos Eureka Consul Zookeeper
CP、AP AP CP CP
相关文章
|
11月前
|
前端开发 测试技术 持续交付
前端工程化:构建高效、可维护的现代Web应用
【10月更文挑战第5天】前端工程化:构建高效、可维护的现代Web应用
|
存储 Ubuntu 关系型数据库
在Ubuntu 16.04上安装和配置ownCloud的方法
在Ubuntu 16.04上安装和配置ownCloud的方法
142 0
|
开发框架 前端开发 JavaScript
基于SqlSugar的开发框架循序渐进介绍(1)--框架基础类的设计和使用
基于SqlSugar的开发框架循序渐进介绍(1)--框架基础类的设计和使用
|
数据安全/隐私保护 Python
详解python中的类、模块、包的概念和区别
详解python中的类、模块、包的概念和区别
658 0
详解python中的类、模块、包的概念和区别
|
存储 数据采集 人工智能
社区供稿 I 基于Qwen-7B的垂域大模型——MindChat(漫谈)心理大模型上线魔搭
心理大模型——漫谈(MindChat)期望从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑,提高心理健康水平。
|
JavaScript
win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
1421 0
win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
|
存储 Kubernetes 监控
Helm Dashboard GUI 工具解析
Hello folks,今天我们介绍一下由 Komodor 推出的开源项目 Helm-Dashboard。也是继 ValidKube 之后的第二个开源项目。
325 0
|
缓存 编解码 程序员
USB采集卡如何打pts
USB采集卡如何打pts
253 0
|
Java 关系型数据库 API
mybatisPlus之ActiveRecord模式及SimpleQuery使用
mybatisPlus之ActiveRecord模式及SimpleQuery使用
|
存储 SQL 缓存
MYSQL超大分页怎么处理 ?
在MySQL中执行超大分页查询,即查询结果集非常大的情况下,需要特别注意性能问题。
759 0