什么是cap

C:Consistency(一致性)A:Availability(可用性)P:Partition tolerance(分区容忍性)

CAP理论是指在分布式系统设计中,没有一种设计可以同时满足Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)3个特性,这三者不可得兼。

一致性(C)

在分布式系统中,对于不同客户端的每次读操作,要么读到的是最新的数据,要么读取失败,保证在同一时刻读到的值都是一样的,通俗的讲就是要么返回一个错误,要么返回绝对一致的最新数据,其强调的是数据正确。

可用性(A)

要求服务在接受到客户端的请求后,都能够给出响应,服务可用性考量的是系统的可用性,要求系统在高并发和部分节点宕机的情况下,系统整体依然能够响应客户端的请求。通俗的讲我一定会给出响应,不会给你返回错误,但不保证数据是最新的,强调的是不出错。

分区容忍性(P)

对于一个分布式系统而言,首先要满足分区容忍性,因为只要有网络交互就一定会有延迟和数据丢失,这种情况不可避免,必须保证系统不能挂掉,否则分布式系统的扩展将会受到限制,即服务节点的部署数量和地区将会受限,违背了分布式系统设计的初衷。

举例:

假设有一个非常简单的分布式系统,它只有两台机器A和B,并且发生了网络分区,即A和B之间不能互相通信。
此时,客户端向A发起了一个写请求,并且收到了成功的响应。接着客户端又对B发起了一次读请求,因为B没有收到来自A的同步信息,所以B只有两种选择:要么返回自身已知但已过时的信息,这就违背了一致性;要么不做出响应,这就违背了可用性。

总结:

CAP理论是在设计分布式系统的过程中,处理数据一致性问题时必须考虑的理论。

在分布式系统中,P是前提,本质上是对C、A的选择,可根据实际情况进行权衡。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值