Zookeeper概览
Zookeeper 是一个典型的 分布式数据一致性 的解决方案,是谷歌 Chubby 的开源实现,在分布式系统中有非常广泛的应用。 分布式应用程序可以基于它来实现 数据发布/订阅、分布式协调/通知、集群管理、Master 选举、命名服务、分布式锁和分布式队列 等功能。 在诸如 HDFS、Yarn、HBase、Kafka、Flink 等著名分布式系统中都使用 Zookeeper 来实现各自的 分布式协调机制 。 在大数据系统中, Zookeeper 是必不可少的组件 ,所有大数据平台上必定运行着一组 Zookeeper 服务器集群。 对于大部分业务开发人员来说,Zookeeper 是属于幕后默默干活奉献的角色,在开发过程中接触的往往都是基于 Zookeeper 的上层系统,这使得很多开发人员对 Zookeeper 处于一种 知道它很重要,但是对它缺不熟悉 的状态。 虽然在大部分工作中,开发人员并不需要完全了解 Zookeeper 是如何实现的,但是保持对这个重要组件的了解与探索能够在一定程度上 提升对现有分布式系统实现的理解 。 本文将会从 Zookeeper 的 基本概念 开始介绍,随后使用客户端API模拟了一个简单的 Master-Slaves 集群 中主从节点的行为,并在之后讨论到其 内部实现的机制与服务端相关的参数配置 ,为分布式系统应用揭开最后一层神秘的面纱。