当前位置: 首页 > article >正文

一些面试问题

1. zk上一个节点挂了,还能不能正常使用?

在高可用框架中,咱们在系统架构设计时,会尽量避免单点问题,引入冗余的副本机制,分布式CAP理论中,无论AP还是CP,Partition Tolerance分区容错的特征必须得到保障;

Zookeeper 本身也是集群,推荐配置不少于 3 个服务器。Zookeeper 自身也要保证当一个节点宕机时,其他节点会继续提供服务。

如果是一个 Follower 宕机,还有 2 台服务器提供访问,因为 Zookeeper 上的数据是有多个副本的,数据并不会丢失;

如果是一个 Leader 宕机,Zookeeper 会选举出新的 Leader。
ZK 集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在 ZK 节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。
所以
3 个节点的 cluster 可以挂掉 1 个节点(leader 可以得到 2 票>1.5)
2 个节点的 cluster 就不能挂掉任何 1 个节点了(leader 可以得到 1 票<=1)

2.zookeeper 集群支持动态添加机器吗?

其实就是水平扩容了,Zookeeper 在这方面不太好。两种方式:

全部重启 :关闭所有 Zookeeper 服务,修改配置之后启动。不影响之前客户端的会话。
逐个重启在过半存活即可用的原则下,一台机器重启不影响整个集群对外提供服务。这是比较常用的方式。
3.5 版本开始支持动态扩容。

3.


http://www.kler.cn/a/313606.html

相关文章:

  • 海云安开发者安全智能助手D10荣膺 “ AI标杆产品 ” 称号,首席科学家齐大伟博士入选2024年度 “ 十大杰出青年 ”
  • postcss插件-实现vw适配
  • Web自动化:Cypress 测试框架概述
  • 《C++11》中的显式虚函数重载:深入理解与应用
  • Python根据图片生成学生excel成绩表
  • 《计算机网络》课后探研题书面报告_网际校验和算法
  • Go 语言的垃圾回收机制
  • 【JavaScript】数据结构之字典 哈希表
  • C语言 | Leetcode C语言题解之第417题太平洋大西洋水流问题
  • ARM/Linux嵌入式面经(三八):绿盟科技
  • SpringBoot:自定义异常
  • string类,vector<T>,iterator迭代器,C风格字符串,数组
  • Apache James配置连接达梦数据库
  • Spring面试题合集
  • Nexus3的妙用
  • re题(27)BUUFCTF-[MRCTF2020]Transform
  • 【系统架构设计师】专题:软件架构风格(详细知识点及历年真题)
  • 使用 Go 语言实现简单聊天系统
  • 排序算法-归并排序
  • 深入解析 JVM 运行时数据区:实战与面试指南
  • Qt clicked()、clicked(bool)、toggled(bool)信号的区别和联系
  • C#基础(11)函数重载
  • 使用jenkins打包unity工程
  • LeetCode118:杨辉三角
  • Spring Boot- 配置文件问题
  • 【JavaScript】数据结构之链表(双指针、滑动窗口)