ZooKeeper的实践(一):ZooKeeper仲裁机制

本文介绍了ZooKeeper的仲裁机制,包括独立模式与仲裁模式的区别。在仲裁模式下,ZK采用法定人数思想确保高可用,允许崩溃的服务器数量不超过总数的一半。通过奇数台服务器部署来避免脑裂问题,确保系统的稳定运行。建议在项目中使用仲裁机制以避免单点故障。
摘要由CSDN通过智能技术生成

概述

zk服务器运行模式分成两种:

  • 独立模式
  • 仲裁模式
    如果是用独立模式(standalone),则zk的状态是无法进行复制的,这才生产环境中,会造成一定的风险,事实上,我们确实有这种情况存在,这源于初期架构的思考和公司经济的问题。而在仲裁(quorun)模式下,则是我们当前流行的分布式集群,我们称之为集合。是用仲裁,不仅可以进行状态的复制,也可以同时服务于客户端的请求。

仲裁

采用仲裁方式的复制集群中,由于具备高可用的镜像复写功能,如果客户端需要等待每个服务器完成数据的螺钉后在继续,则延时的问题会变得比较突出,要知道,延时,在大流量的访问中,是不可接收的,但不代表能消灭延时。
此时,在ZK的设计思路中,为了规避这个问题,则衍生除了法定人数的思想,即我们只需要保证我们的集群中,由若干算法模式下实现的人数能完成对应的信息落地之后,则认为客户端可以继续下一波的操作,而不是等到所有集群完全落实才继续下去。例如,我们由5个zk服务器,而法定人数为3人,则我们只需要确保其中的3台服务器保存了对应的数据,客户端就可以继续,而其他两个服务器在正常的中状态下,最终也是能获取到数据,并保存下来

这就是为什么我们要求zk的部署,起码是奇数台的其中一个原因。
请注意,假设我们由f个服务器,则允许其崩溃的数据必须小于服务器数量的一半,即5台,只能允许2台崩溃。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值