Skip to content

面试速答(先看这里)

**一句话结论:**领导者(leader): 负责进行投票的发起和决议,更新系统状态。

60秒标准回答:

ZK中主要有以下角色

领导者(leader): 负责进行投票的发起和决议,更新系统状态。为客户端提供读和写服务

跟随者(follower): 用于接受客户端请求并响应客户端返回结果,在选主过程中参与投票。为客户端提供读服务

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**跟随者(follower): 用于接受客户端请求并响应客户端返回结果,在选主过程中参与投票。
  • **要点2:**观察者(observer): 可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。
  • **要点3:**客户端(client): 请求发起方

**记忆锚点:**observer → leader → 跟随者(follower) → 观察者(observer) → 领导者(leader) → 客户端(client)

追问准备:

  • 围绕「observer」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「leader」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「跟随者(follower)」:底层原理是什么?使用时有哪些边界和常见坑?
  • 如果线上出现异常,你会如何定位、验证并规避?

ZK中主要有以下角色:

**领导者(leader):**负责进行投票的发起和决议,更新系统状态。为客户端提供读和写服务。

**跟随者(follower):**用于接受客户端请求并响应客户端返回结果,在选主过程中参与投票。为客户端提供读服务。

**观察者(observer):**可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。

**客户端(client):**请求发起方