大数据采集与处理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.4 ZooKeeper

ZooKeeper是一个开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务等[8]。ZooKeeper的设计目标是成为一个分布式数据一致性解决方案,将那些复杂且容易出错的分布式一致性服务封装起来,构造一个可靠的原语集,并提供一些简单的接口给用户(分布式应用程序)使用[8]。分布式应用程序可以基于ZooKeeper实现,应用于数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护、名字服务、分布式同步、分布式锁和分布式队列等场景。

ZooKeeper是大数据生态圈中的重要组件,其特点如下。

1.顺序一致性

从同一客户端发起的事务请求,最终将会严格地按照顺序被应用到 ZooKeeper 中。

2.原子性

所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的,也就是说,要么整个集群中所有机器都成功地应用了某个事务,要么都没有应用。

3.单一系统映像

无论客户端连到哪个ZooKeeper服务器上,其看到的服务端数据模型都是一致的。

4.可靠性

一旦一次更改请求被应用,更改的结果就会被持久化,直到被下一次更改覆盖。