CAP理论的极限3选2

本文解释了CAP理论,阐述了在分布式系统中一致性、可用性和分区容忍性的关系,指出在面临网络分区时,系统通常要在C(一致性)和A(可用性)之间做出选择。CP和AP模式展示了不同的策略,而AC模式强调一致性和可用性但牺牲了分区容忍性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 CAP 理论 

1 定义

  • Consistency(一致性): 所有节点上的数据在同一时间具有相同的值
  • Availability(可用性): 在任何节点发出读写请求时,系统都能够在有限的时间内返回合理的响应(不用最新)
  • Partition Tolerance(分区容忍性):数据在同一时间无法实现一致,网络出现故障,系统仍然可以继续运行。 系统能够容忍任意数量的网络分区,即使出现网络分区,系统仍能够继续运行。网络分区将整个网络或系统划分成多个独立的区域,每个区域内的节点可以相互通信,但在不同区域的节点之间无法直接通信

分区容忍性不等于容错性 !

2 CAP理论的3中选2

CAP 理论指出,在分布式系统中,不可能同时满足一致性、可用性和分区容忍性这三个要求,最多只能同时满足其中两个

C-一致性 数据最新正确且一致

A-可用性 无论是不是正确的都快速返回结果

P-分区容错性 网络分区故障时,系统不崩溃

对于一个分布式系统而言,P必须保证,因为只要有网络交互一定会有延迟和数据丢失,这种状况我们必须接受,必须保证系统不能挂掉。P实现就是出现网络分区的情况!

所以只剩下C、A可以选择。要么保证数据一致性(保证数据绝对正确),要么保证可用性(保证系统不出错)。

若是不同网络,即网络分区,必然要么快速而不正确,想要正确一致的数据就得等待时间延迟!

3 CP

当选择了C(一致性)时,如果由于网络分区而无法保证特定信息是最新的,则系统将返回错误或超时。(等待数据一致)

4 AP

当选择了A(可用性)时,系统将始终处理客户端的查询并尝试返回最新的可用的信息版本,即使由于网络分区而无法保证其是最新的。(如果快速响应,那么可能数据是错误的,不一致的)

5 AC

强调一致性和可用性,将数据移到一台机器上,既可实现快速响应,响应的数据还都一致(正确)

放弃了分区容忍性,所以无法实现网络扩展。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值