CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
ZK和Redis锁实现的区别:
1、
redis分布式锁,其实需要自己不断去尝试获取锁,比较消耗性能
zk分布式锁,获取不到锁,注册个监听器即可,不需要不断主动尝试获取锁,性能开销较小
如果是redis获取锁的那个客户端bug了或者挂了,那么只能等待超时时间之后才能释放锁;而zk的话,因为创建的是临时znode,只要客户端挂了,znode就没了,此时就自动释放锁
2、redis获取锁会立即返回,zk需要通过zap广播请求投票成功后才会返回。因此,redis比较倾向于可用性,zk比较倾向于一致性
3、redis是基于唯一value的值实现锁,zk是基于临时有序结点去实现分布式锁,后一个结点watch前一个结点,完成后唤醒下一个