大剑无锋之了解什么是CAP吗?【面试推荐】

什么是CAP?【这里可不是帽子】

CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。

百度词条的解释,说道最多只能同时实现两点,昨天面试一家很好地公司,面试官说到,满足三种也是可以的,只是比较困难。

???嗯。。。我不确定好吧。你们说???

那么什么是一致性(Consisitency)、可用性(Avaliability)、分区容错性(Partiton tolerance)?

一致性(C):分布式系统中的所有数据备份,在同一时刻是否同样的值。等同于所有节点访问同一份最新的数据副本

可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。对数据更新具备高可用性

分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

一致性和可用性好像比较好理解,

一致性:所有节点访问同一份数据时,这份数据是最新的。

至于可用性就是,当集群中某节点故障后,集群整体是否还能响应客户端的读写请求。

那么分区容忍性呢?

就字面读上去,有点难理解,

简单来说就是如果集群中的机器被分成了两部分,这两部分不能互相通信,系统是否能继续正常工作。

在百度百科中有这样一句话:

CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足

嗯。。。

欢迎留言讨论!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值