浅谈CAP原则,未完

面试中偶尔碰到HR会问CAP,所以总结一下

什么是CAP原则?为什么只能满足两个?

分布式系统最大的难点就是各个节点的状态如何同步,CAP定理是这方面的基本定理

C:数据一致性

A:高可用性

P:分区容错性

首先是为什么只能满足两个? 当有多个分区时,必须保证分区间的信息是互通的,因此必须保证P使用;
而CA是互相矛盾的,当保证两个区数据一致时,当G1分区进行写操作,那么G2分区就要加锁,
保证G1分区写操作完成,并进行数据更新到G2分区,再此期间,无法保证能提供服务,
因此无法保证A高可用性。同理保证高可用时无法保证数据一致性。

举例

**zookeeper** :**CP**只能有一个主机器(没有多主),多个从机器,因此只能保证数据一致性。
**redis** : AP 可以有多个主机器,多个从机器,因此只能保证高可用性。

实例

电商项目:有时页面抢购显示还有10个,但是实际已经没有了,只是保证了高可用性吗,没有保证数据一致性。
金融项目:转账时,有页面奔溃或者其他情况时必须保证前后vv端的数据一致性。所以遇到问题,经常直接崩溃,不能保证高可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值