首页 > 其他分享 >ZooKeeper 面试题

ZooKeeper 面试题

时间:2022-11-21 19:46:51浏览次数:62  
标签:面试题 Zookeeper ZooKeeper Watcher 客户端 服务端 分布式

1. ZooKeeper 是什么?

ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护。
ZooKeeper 可以视为一个高可用的文件系统。
ZooKeeper 可以用于发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 。
2. ZooKeeper 提供了什么?
3. Zookeeper 文件系统
zookeeper的文件系统有点类于树形的数据结构
从根结点开始到所有的的子节点的路径都是唯一的,且所有的节点都叫作znode节点而且有的节点可能为目录也可能为文件
4. ZAB 协议?

Zab协议 的全称是Zookeeper Atomic Broadcast(Zookeeper原子广播)。

Zab协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复原子广播协议,是Zookeeper保证数据一致性的核心算法。Zab借鉴了Paxos算法,但又不像Paxos那样,是一种通用的分布式一致性算法。它是特别为Zookeeper设计的支持崩溃恢复的原子广播协议
5. 四种类型的数据节点 Znode
持久(persistent), 临时(ephemeral),持久序列(persistent_sequential), and 临时序列(ephemeral_sequential)。
6. Zookeeper Watcher 机制 -- 数据变更通知
Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务端的一些指定事件触发
了这个 Watcher,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据Watcher 通知状态和事件类型做出业务上的改变。
7. 客户端注册 Watcher 实现

8. 服务端处理 Watcher 实现

9. 客户端回调 Watcher

标签:面试题,Zookeeper,ZooKeeper,Watcher,客户端,服务端,分布式
From: https://www.cnblogs.com/ningshare/p/16912953.html

相关文章

  • DB面试题目
    MyBatis面试题1、什么是Mybatis?答:MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获......
  • 资深java面试题及答案整理
     8.如果你的Serializable类包含一个不可序列化的成员,会发生什么?你是如何解决的?任何序列化该类的尝试都会因NotSerializableException而失败,但这可以通过在Java中为st......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点 19.删除链表的倒数第N个节点
     今日任务●24.两两交换链表中的节点●19.删除链表的倒数第N个节点●面试题02.07.链表相交●142.环形链表II●总结详细布置24.两两交换链表......
  • DevOps的常见面试题
    1.什么是DevOps?简而言之,DevOps意味着组织中开发(Dev)和运维(Ops)团队之间的协作,通过持续集成和持续交付,为用户提供更好的产品。因此,它可以降低软件开发和运维团队之......
  • 安装zookeeper 和 kafka
    本文用到的同步脚本  https://www.cnblogs.com/sdgtxuyong/p/16907986.html 一、安装zookeeper修改hosts文件,将test1,test2,test3,用ip来对应。下载解压zookeeper......
  • Mysql B+树索引常见面试题
    概念 一个经典的B+树索引数据结构见下图:B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接。 在B+树上的常规检索,从根节......
  • mysql常见面试题第一讲
    ​一、为什么用自增列作为主键1、如果我们定义了主键(PRIMARYKEY),那么InnoDB会选择主键作为聚集索引。如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引......
  • Windows下Zookeeper安装使用
    Windows下Zookeeper安装使用ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了......
  • DBA实战面试题(一)
    数据库面试测试题(一)简述当前主流RDBMS软件有哪些?开源且跨平台的数据库软件有哪些?参考答案当前主流的数据库服务器软件有:Oracle、DB2、SQLSERVER、MySQL等,其中......
  • python面试题常用语句
    一、比较与交换1.比较并输出大的print(aifa>belseb)2.交换两个元素a,b=b,alist1[i],list[j]=list1[j],list[i] 二、排序1.字符串排序s='aaccbgd'pri......