ZooKeeper(1)为什么而生的

理解主从架构中的分布式难题

主节点失效

主节点失效时,我们需要一个备用主节点,它会接管主节点的角色,进行故障转移。他需要能够恢复到旧的主节点崩溃时的状态,而这个状态是通过ZooKeeper来获取的。此外还有脑裂(WTF?)的情况:主节点只是响应慢了点,并没有失效,但备用主节点认为失效了也启动类。于是系统中存在两个独立的主节点,各自工作,造成整体行为的不一致。

从节点失效

客户端向主节点提交任务,主节点将任务委派给从节点,从节点完成任务后返回结果,主节点将结果返回客户端。如果从节点崩溃,主节点需要重新分配,所以主节点需要具有检测从节点崩溃的功能。

通信故障

不知道一个任务是否被子节点执行完毕?锁机制?客户端需要报告ZooKeeper某些数据是临时数据,还需要发送存活心跳。

任务总结

  • 主节点选举
  • 从节点崩溃检测
  • 从节点任务状态管理
  • 保存主从节点的元数据

CAP

一致性,可用性,分区容错性三个属性不能全部满足。而ZooKeeper尽可能保证系统的一致性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值