为什么说CAP不能同时满足

CAP中的P为”分区容错“(Partition tolerance)的意思,一般是分布式系统都会存在”分区容错“,因为服务与服务之间都可能会出现通信问题

CAP中的A是”可用性“(Availability)的意思,可用性就是保证所用的请求都会马上处理并返回。

CAP中的C是”一致性“(Consistency)的意思,一致性就是保证当我更新完一条数据的时候,其他人马上看的到。

为什么说只能有AP 或者CP,CAP不能同时满足,因为满足了一致性就无法满足可用性,比如,由redis实现的分布式锁,当线程A获取了该锁,在锁还没有同步到其他从机的时候,主节点的redis挂掉了,从节点升级为主节点,此时线程B进来也成功获取了锁,这个时候就有两个线程进行同一操作,一致性就得不到保证。
如果到保证一致性,那就必须保证锁没有同步到其他节点之前,其他的线程都会别拒绝或阻塞,这个时候可用性又得不到保证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值