Skip to content

ZooKeeper 知识体系总览


第1阶段 ZAB协议 → 消息广播、崩溃恢复
第2阶段 Leader选举 → FLE、投票逻辑
第3阶段 应用场景 → 配置管理、命名服务
第4阶段 分布式锁 → 锁类型、红锁
ZooKeeper
┌───────────┬─────────────┴─────────────┐
▼ ▼ ▼ ▼
ZAB协议 Leader选举 应用场景 分布式锁
│ │ │ │
• 消息广播 • FLE • 配置管理 • 排它锁
• 崩溃恢复 • 投票逻辑 • 命名服务 • 羊群效应
• 数据同步 • 选主流程 • Master选举 • 公平锁
• 原子广播 • 脑裂问题 • 分布式队列 • 红锁
专题考察频率难度核心能力
ZAB协议★★★★☆消息广播
Leader选举★★★★☆选举机制
应用场景★★★☆☆场景选择
分布式锁★★★★☆锁实现

🗳️ ZAB 协议

ZAB 协议原理;消息广播;崩溃恢复;Leader 选举;数据同步。

🏆 Leader 选举

选举机制;Fast Leader Election;投票逻辑;选主流程;脑裂问题。

📦 应用场景

配置管理;命名服务;分布式锁;Master 选举;分布式队列。

🔒 分布式锁

锁类型;实现原理;羊群效应;公平锁;红锁算法。

⚡ 性能与优化

读写性能;存储优化;客户端优化;集群规划;监控告警。


ZooKeeper = 分布式系统的"小作坊"
────────────────────────────────
- 配置管理:集中式配置中心
- 命名服务:服务注册与发现
- 分布式锁:协调多进程访问
- Master 选举:选主控制器
- 分布式队列: FIFO 任务调度
  • 基础设施:Kafka、Dubbo、HBase 等都依赖 ZooKeeper
  • 核心概念:理解 ZAB 协议才能理解分布式一致性
  • 工程实践:分布式锁、选主等是常见面试题

┌─────────────────────────────────────────────────────────────┐
│ ZooKeeper 集群 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ZooKeeper Server │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Leader │ │Follower │ │Observer │ │
│ │ (主) │◄─┼─接受命令─┼─│ (只读) │ │
│ │ 处理写 │ │ 同步数据 │ │ 不参与 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │ │
│ └─────────────┴─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 客户端 │ │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
角色职责数量
Leader处理所有写请求,事务提案1
Follower参与选举,处理读请求,转发写请求N
Observer不参与选举,只提供读服务N

第1天 ZAB 协议 → 理解消息广播和崩溃恢复
第2天 Leader 选举 → 掌握选举流程和数据同步
第3天 应用场景 → 配置管理、分布式锁、选主
第4天 分布式锁实现 → 手写分布式锁,理解红锁
第5天 性能优化 → 集群规划、客户端优化