CAP三特性介绍以及为什么不能同时满足

第一部分:CAP三个特性分别是什么

C:一致性:在分布式系统中的任意一个节点都会查询到相同的信息(拿到的都是最新的)
A:可用性:服务一直可用,而且是正常响应时间,好的可用性主要是指系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。(只要我访问你就给我返回,如果要满足分布式(P),机器之间网络断掉的话,直接和C冲突)
P:分区容错性:当分布式系统中一部分节点崩溃的时候,当前系统仍旧能够正常对外提供服务(多台机器,分布式,不满足P就是单机么)

第二部分:为什么不能同时满足

在这里插入图片描述
在上面分布式系统中一共有6个节点可以对外提供服务,A用户和B用户分别向节点6和节点4请求服务。
当用户A通过节点6向系统中添加一个消息msg,在网络连接良好的情况下,这条消息很快就会保存到其他节点上,可是网络是一个不可靠的东西,假设现在节点4和其他节点的网络连接都断开了,那么msg这条消息就不会同步到节点4上,用户B仍旧向节点4请求查询msg,现在就有两种选择了:
1、保证可用性,用户B请求时立即返回得到的肯定时null,就无法满足一致性了
2、保证一致性,用户B请求时,会阻塞到节点4同步这条消息为止,无法满足可用性了
如果我们选择保证可用性和一致性,那么就是只有一个节点提供服务,不会产生其他网络连接,就不满足分区容错性了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值