Zookeeper 的分布式协调能力挺硬核,是在数据一致性这块,真的帮了不少忙。像配置中心、服务注册、Master 选举这些需求,它都能搞定,而且用法也不复杂。
数据发布/订阅的玩法灵,Zookeeper 用Watcher监听机制,一有变动就推送,配置更新不需要重启服务,挺适合微服务那一套。
负载均衡的思路也巧,搞个动态 DNS 模型,服务地址变了只改znode就行,下游服务立马感知到变更,像 Nginx 那种场景也能套上。
命名服务这块比较实用,全局唯一 ID 可以靠顺序节点搞定,不用自己造轮子,适合你在搞任务分配或服务发现的时候用。
分布式协调/通知方面也能打,Zookeeper 用来做组件间的异步通知,像数据库复制、任务状态同步这些,用它就省心多了。
Master 选举不用你写复杂逻辑,直接利用节点抢占机制实现优雅选主,Hadoop、Kafka 都在用,靠谱。
分布式锁做得也挺稳,创建临时节点+监听机制,避免多个客户端抢资源,适合并发写入场景。
分布式队列虽然不是它的主场,但用顺序节点也能凑合搞个 FIFO 出来,跑简单任务队列没啥压力。
如果你正好在折腾微服务、任务调度、分布式锁之类的东西,Zookeeper 可以说是个还不错的老搭子。用着稳定,社区也活跃,搭配其他组件一起上手也没门槛。