zookeeper协调原理

CAP原理指出在分布式系统中,一致性、可用性和分区容错性无法兼得。Zookeeper通过ZAB协议实现了分布式环境下的数据最终一致性,它是对传统2PC的优化,保证分区容错性的同时提高可用性。ZAB协议包括事务广播和崩溃恢复两个阶段,采用过半选举原则,确保在领导者崩溃后的数据同步和新的领导者选举。
摘要由CSDN通过智能技术生成


欢迎查看Eetal的第二十四篇博客–zookeeper协调原理

CAP原理

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
一致性表示分布式系统中各个节点数据的一致性
可用性代表数据访问的高性能
分区容错性指的是因为同步的时间问题,数据不一致导致出现了多个不同数据版本的分区现象,但系统仍能继续正常运行(容错)
很显然,三者最多只能取其二
分区容错性与一致性共存(同步需要阻塞)必会与可用性冲突
分区容错性与可用性共存(数据不同步)必会与一致性共存冲突
可用性与一致性共存必会与分区容错性冲突(实际上这个是不实际的需求,因为分布式环境下因为网络通信的延迟分区容错性是必要的)
综上,大部分分布式架构都是实现数据的最终一致性而非实现强一致性(因为分区容错性的必然存在)
zookeeper的zap协议就是对2pc进一步提高分区容错性与可用性而降低强一致性的一种协议,同时其保证最终一致性,所以在分布式环境下仍是可用的

事务请求

所有事务请求(增删改)都会转发到leader由leader处理
zookeeper内部是依赖一个改进版的2pc——ZAB协议

传统2pc

传统2pc分为两个阶段preCommit和commit阶段
preCommit阶段由leader向所有节点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值