Zookeeper-简介

Zookeeper简介

ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。

ZooKeeper框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache ZooKeeper成为Hadoop,HBase和其他分布式框架使用的有组织服务的标准。 例如,Apache HBase使用ZooKeeper跟踪分布式数据的状态。

它要解决的问题:

  • 命名服务 - 按名称标识集群中的节点。它类似于DNS,但仅对于节点。

  • 配置管理 - 加入节点的最近的和最新的系统配置信息。

  • 集群管理 - 实时地在集群和节点状态中加入/离开节点。

  • 选举算法 - 选举一个节点作为协调目的的leader。

  • 锁定和同步服务 - 在修改数据的同时锁定数据。此机制可帮助你在连接其他分布式应用程序(如Apache HBase)时进行自动故障恢复。

  • 高度可靠的数据注册表 - 即使在一个或几个节点关闭时也可以获得数据。

分布式应用程序提供了很多好处,但它们也抛出了一些复杂和难以解决的挑战。ZooKeeper框架提供了一个完整的机制来克服所有的挑战。竞争条件和死锁使用故障安全同步方法进行处理。另一个主要缺点是数据的不一致性,ZooKeeper使用原子性解析。

以下是使用ZooKeeper的好处:

  • 简单的分布式协调过程

  • 同步 - 服务器进程之间的相互排斥和协作。此过程有助于Apache HBase进行配置管理。

  • 有序的消息

  • 序列化 - 根据特定规则对数据进行编码。确保应用程序运行一致。这种方法可以在MapReduce中用来协调队列以执行运行的线程。

  • 可靠性

  • 原子性 - 数据转移完全成功或完全失败,但没有事务是部分的。

猜你喜欢

转载自blog.csdn.net/yimin_tank/article/details/84303686