当前位置: 首页 > 面试题库 >

ZooKeeper 集群角色 ?

高博涉
2023-03-14
本文向大家介绍ZooKeeper 集群角色 ?相关面试题,主要包含被问及ZooKeeper 集群角色 ?时的应答技巧和注意事项,需要的朋友参考一下

但是,在 ZooKeeper 中没有选择传统的 Master/Slave 概念,而是引入了 Leader、Follower 和 Observer 三种角色。如下图所示

img

ZooKeeper 集群中的所有机器通过一个 Leader 选举过程 来选定一台称为 “Leader” 的机器,Leader 既可以为客户端提供写服务又能提供读服务。除了 Leader 外,FollowerObserver 都只能提供读服务。Follower 和 Observer 唯一的区别在于 Observer 机器不参与 Leader 的选举过程,也不参与写操作的“过半写成功”策略,因此 Observer 机器可以在不影响写性能的情况下提升集群的读性能。

角色 说明
Leader 为客户端提供读和写的服务,负责投票的发起和决议,更新系统状态。
Follower 为客户端提供读服务,如果是写服务则转发给 Leader。在选举过程中参与投票。
Observer 为客户端提供读服务器,如果是写服务则转发给 Leader。不参与选举过程中的投票,也不参与“过半写成功”策略。在不影响写性能的情况下提升集群的读性能。此角色于 ZooKeeper3.3 系列新增的角色。

当 Leader 服务器出现网络中断、崩溃退出与重启等异常情况时,就会进入 Leader 选举过程,这个过程会选举产生新的 Leader 服务器。

这个过程大致是这样的:

  1. Leader election(选举阶段):节点在一开始都处于选举阶段,只要有一个节点得到超半数节点的票数,它就可以当选准 leader。
  2. Discovery(发现阶段) :在这个阶段,followers 跟准 leader 进行通信,同步 followers 最近接收的事务提议。
  3. Synchronization(同步阶段) :同步阶段主要是利用 leader 前一阶段获得的最新提议历史,同步集群中所有的副本。同步完成之后 准 leader 才会成为真正的 leader。
  4. Broadcast(广播阶段) :到了这个阶段,ZooKeeper 集群才能正式对外提供事务服务,并且 leader 可以进行消息广播。同时如果有新的节点加入,还需要对新节点进行同步。

 

 类似资料:
  • 本文向大家介绍ZooKeeper 集群 ?相关面试题,主要包含被问及ZooKeeper 集群 ?时的应答技巧和注意事项,需要的朋友参考一下 为了保证高可用,最好是以集群形态来部署 ZooKeeper,这样只要集群中大部分机器是可用的(能够容忍一定的机器故障),那么 ZooKeeper 本身仍然是可用的。通常 3 台服务器就可以构成一个 ZooKeeper 集群了。ZooKeeper 官方提供的架构

  • 集群角色定义了对集群下资源的权限。 集群角色定义了对集群下资源的权限。多集群的集群角色支持将集群角色关联到多个集群,并在指定集群中创建同样权限的集群角色。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/多集群资源/集群角色” 菜单项,进入集群角色页面。 新建集群角色 该功能用于新建多集群的集群角色。 在集群角色页面,单击列表上方 “新建” 按钮,进入新建集群角色页面。 配置

  • 集群角色定义了对集群下资源的权限。 集群角色定义了集群范围内的资源的权限。通过与服务账户进行绑定,从而控制服务账户的操作权限。 集群角色的详细介绍请参考Kubernetes官方文档-RBAC。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/集群/集群角色” 菜单项,进入集群角色页面。 查看集群角色 该功能用于基于集群、命名空间筛选集群角色信息。 在集群角色页面,默认查看一个

  • 集群角色绑定定义了集群角色和服务账户的绑定关系。 集群角色绑定定义了集群角色和服务账户的绑定关系,从而控制服务账户的操作权限。多集群资源的集群角色绑定支持绑定到集群上,批量在集群中创建相同的集群角色绑定。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/多集群资源/集群角色绑定” 菜单项,进入集群角色绑定页面。 新建集群角色绑定 该功能用于新建多集群的集群角色绑定,在新建多集

  • 集群角色绑定定义了集群角色和服务账户的绑定关系。 集群角色绑定定义了集群角色和服务账户的绑定关系,从而控制服务账户的操作权限。 集群角色绑定的详细介绍请参考Kubernetes官方文档-RBAC。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/集群/集群角色绑定” 菜单项,进入集群角色绑定页面。 查看集群角色绑定 该功能用于基于集群、命名空间筛选集群角色绑定信息。 在集群角

  • 我正在尝试用CuratorFramework创建一个基于动物园管理员的应用程序。该应用程序必须能够在更多的节点上以仲裁的方式运行。应用程序的每个实例都嵌入了动物园管理员服务器和客户端的实例。节点在仲裁中被成功地删除。每个节点都向 /workers/active/node1写入一个EPHEMERAL节点(“活动”是由领导者创建的PERSISTENT znode)。因为当客户端连接到动物园管理员服务器