选主与分布式协调
1. 这是什么
ZooKeeper 常被用于选主、分布式锁、成员管理和任务协调。
这些场景本质上都属于“多节点之间如何达成一致动作”的问题。
2. 为什么重要
分布式系统一复杂,就会遇到协调问题。
理解 ZooKeeper 的协调能力,能帮助你更好地看懂很多中间件和注册中心的设计。
3. 核心内容
- 选主基本思路
- 临时顺序节点
- 分布式锁基础认知
- 成员列表维护
- 协调流程设计
4. 学习重点
- 理解协调问题通常不是“共享变量”这么简单
- 理解临时顺序节点在协调中的高频价值
- 理解协调方案必须考虑异常退出和会话失效
5. 常见问题
- 只考虑正常路径不考虑异常节点
- 锁释放和会话关系不清楚
- 协调过程缺少超时与兜底设计
6. 练习建议
- 设计一个简化版选主流程
- 画一张基于临时顺序节点的锁流程图
- 总结协调方案里的风险点
7. 自测问题
- 为什么临时顺序节点适合做选主和锁
- 选主方案为什么一定要考虑故障恢复
- 分布式协调和单机同步有什么本质差异