博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zookeeper要安装在奇数个节点,但是为什么?
阅读量:4622 次
发布时间:2019-06-09

本文共 545 字,大约阅读时间需要 1 分钟。

Zookeeper要安装在奇数个节点,但是为什么?

 

我们都知道,Zookeeper要安装在奇数个节点,但是为什么?

Zookeeper的大部分操作都是通过选举产生的。比如,标记一个写是否成功是要在超过一半节点发送写请求成功时才认为有效。同样,Zookeeper选择领导者节点也是在超过一半节点同意时才有效。最后,Zookeeper是否正常是要根据是否超过一半的节点正常才算正常。这是基于CAP的一致性原理。
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

 

redis/zookeeper

转载于:https://www.cnblogs.com/erma0-007/p/8620607.html

你可能感兴趣的文章
UOJ #34 多项式乘法
查看>>
xcodebuild命令行编译不通过clang: error: no such file or directory
查看>>
[ASP.NET]ASP.NET Web Site 和 ASP.NET Web Application 的区别
查看>>
python的字符串用法
查看>>
计算机网络层
查看>>
ptyhon_opencv 图像的基本操作
查看>>
JQuery给动态HTML绑定事件
查看>>
Spring MVC-集成(Integration)-生成Excel示例(转载实践)
查看>>
MongoDB集群搭建教程收集(待实践)
查看>>
轻量级Web API实现,带接口界面的Jayrock JsonRPC接口组件升级版
查看>>
苹果iOS APP配置HTTPS,iOS ATS配置SSL,苹果ATS标准解决方案
查看>>
Spring中基于AOP的XML架构
查看>>
Spring的JDBC示例
查看>>
JDBC驱动类型
查看>>
Angular内置指令(二)
查看>>
js中浮点型运算 注意点
查看>>
煤气灶---递归
查看>>
STL: unordered_map 自定义键值使用
查看>>
java与<道德经>总章一些感悟
查看>>
数据库查询优化的一些总结
查看>>