一、zookeeper的三种部署模式

Zookeeper 有三种部署模式分别是单机模式、伪集群模式、集群模式。这三种模式在不同的场景下使用:

单机部署:一般用来检验 Zookeeper 基础功能,熟悉 Zookeeper 各种基础操作及特性。
伪集群部署:在单台机器上部署集群,方便在本地验证集群模式下的各种功能。
集群部署:一般在生产环境使用,具备一致性、分区容错性。

二、zookeeper怎么保证主从节点的状态同步

Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。

恢复模式:当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。

因此,选主得到的leader保证了同步状态的进行,状态同步又保证了leader和Server具有相同的系统状态,当leader失去主权后可以在其他follower中选主新的leader。

三、集群中为什么有主节点

在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举。

四、集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?

zookeeper具有过半存活即可用的特性。可以继续使用,单数服务器只要没超过一半的服务器宕机就可以继续使用。

1.成功选举Leader必须要备节点过半,2n和2n-1(n>1)的容错数是一样的都是 n-1  。

2.集群服务偶数节点也是可以的,偶数容错数和奇数一样,所以没必要浪费一个节点资源,一般为奇数个。

参考链接:zookeeper的部署模式及部署实战

最新文章

  1. 史上最全、JavaScript基础篇
  2. js中,全局变量与直接添加在window属性的区别
  3. Flash Player 19.0.0.124 Beta + IHTMLDocument3 IHTMLDocument2 ->get_innerHTML
  4. C++学习39 异常处理入门(try和catch)
  5. hdoj 2 括号配对问题【数组模拟实现+STL实现】
  6. Qt5 Cmake
  7. TypeError: Error #1009: 无法访问空对象引用的属性或方法
  8. 判断ssh远程命令是否执行结束
  9. ​Installing the Ranger Kafka Plug-in
  10. Ubuntu下使用Evernote
  11. Web服务器之Nginx详解(理论部分)
  12. luogu P3674 小清新人渣的本愿
  13. SpringBoot整合MyBatis(注解版)
  14. sqlserver字符集问题(中文出乱码,排序错误等)
  15. mac以及centos下安装Elasticsearch 以及权限管理插件
  16. mysql二进制日志详解
  17. 转]GSM模块信号强度CSQ与RSSI的对应关系
  18. Linux中wget用法
  19. python之uinttest单元测试框架
  20. Mustache 使用说明

热门文章

  1. No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK 问题解决
  2. C#foreach 本质( 鸭子类型遍历)
  3. 【C# 反射】使用 Activator 类 -激活器
  4. 磁盘管理及shell脚本编程练习
  5. Excel:替换表格中的0值
  6. C语言中一些知识点
  7. mataplotlib篇(开篇)
  8. MySQL第五讲
  9. 微服务从代码到k8s部署应有尽有系列(十三、服务监控)
  10. java IO流体系--通识篇