主题
面试速答(先看这里)
**一句话结论:**领导者(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):**请求发起方