Zookeeper的作用

来源:互联网 发布:爱名网域名注册 编辑:程序博客网 时间:2024/05/16 12:28

1:Zookeeper从文件系统API得到启示,提供一组简单的API ,使得开发人员可以实现通用的协作任务,包括选选举主节点、管理组内成员关系、管理元数据(协同数据)等。

2:Zookeeper的服务组件运行在一组专用的服务器上,保证了高容错性和可扩张性。

应用数据与协同数据

3:Zookeeper设计应用时,因为不同的应用有不同的需求,如一致性和持久性的不同需求,所以在设计时最好将应用数据和协同数据独立开;

比如,网络邮箱服务的用户对自己邮箱的内容感兴趣,但是并不关心由哪一台服务器来处理特定的邮箱请求。这个例子中,邮箱内容就是应用数据,从邮箱到某一台邮箱服务器之间的映射关系就是协同数据(或称为元数据)。整个Zookeeper 管理的就是后者。

4:Zookeeper它可以在分布式系统中协作多个任务。一个协作任务是指一个包含多个进程的任务。这个任务可以是为了协作或者是为了管理竞争。

协作与管理:

1):协作,意味着多个进程需要一同处理某些事情,一些进程采取某些行动使得其他进程可以继续工作。

2):竞争,指的是两个进程不能同时处理工作的情况,一个进程必须等待另一个进程。


在典型的不共享环境下不同的计算机之间不共享除了网络之外的其他任何信息。虽然许多消息传递算法可以实现同步原语,但是使用一个提供某种有序共享存储的组件往往更加简便,这正是Zookeeper 所采用的方式。

协同并不总是采取像群首选举或者加锁等同步原语的形式。配置元数据也是一个进程通知其他进程需要做什么的一种常用方式。


Zookeeper的使用场景

整个Zookeeper的服务器集群管理着应用协作的关键数据。Zookeeper不适合用作海量数据存储。

对于海量数据,可存放在数据库或者分布式文件系统。

0 0