ZooKeeper 是什么?看完这篇,社招面试再也不虚

想象一下这样一个场景。你在一家互联网公司上班,公司业务不大不小:

  • 订单服务
  • 库存服务
  • 支付服务
  • 日志服务
  • 配置中心
  • 定时任务调度

某天早上 9 点,系统刚上线。突然有人问你一句:“现在到底谁是主节点?”

你一愣。

订单服务说:“我觉得我是老大。”

库存服务说:“不对,昨天我刚被选为 Master。”

支付服务冷冷地说:“你们别吵,我刚刚启动得最晚,理论上我最新。”

完了,系统开始内讧了。接着又来一个问题:“配置改了没有?大家用的是不是同一份?”

你一查:

  • A 机器用的是旧配置
  • B 机器已经更新
  • C 机器还在读缓存

整个系统就像一个没有村委会的村子

  • 大家都很努力
  • 但没人统一协调
  • 每个人都觉得自己是对的

这时候,ZooKeeper 登场了。

ZooKeeper 是什么?

如果你在面试中,被问到:ZooKeeper 是什么?

标准答案是:ZooKeeper 是一个开源的分布式协调服务,用于为分布式应用提供一致性服务。

但如果我用「讲故事版」来翻译:ZooKeeper 就是分布式系统里的“居委会 + 公证处 + 公告栏 + 裁判 + 记账本”。

  • 谁是老大?它来裁决