文件名称:ZooKeeper的使命-intouch2017培训资料
文件大小:4.44MB
文件格式:PDF
更新时间:2024-06-30 01:12:52
ZooKeeper 分布式
1.1 ZooKeeper的使命 试着说明ZooKeeper能为我们做什么,就像解释螺丝能为我们做什 么一样。我们可以简单地表述,螺丝刀可以让我们拧动螺丝。但是这种 方式并不能完全表达螺丝刀的能力。实际上,螺丝刀还可以让我们组装 各种家具和电子设备,甚至在某些情况下你还可以用它把画挂在墙上。 就像螺丝刀的例子一样,我们将介绍ZooKeeper能做什么,虽然未必详 尽。 关于ZooKeeper这样的系统功能的讨论都围绕着一条主线:它可以 在分布式系统中协作多个任务。一个协作任务是指一个包含多个进程的 任务。这个任务可以是为了协作或者是为了管理竞争。协作意味着多个 进程需要一同处理某些事情,一些进程采取某些行动使得其他进程可以 继续工作。比如,在典型的主-从(master-worker)工作模式中,从节点 处于空闲状态时会通知主节点可以接受工作,于是主节点就会分配任务 给从节点。竞争则不同。它指的是两个进程不能同时处理工作的情况, 一个进程必须等待另一个进程。同样在主-从工作模式的例子中,我们 想有一个主节点,但是很多进程也许都想成为主节点,因此我们需要实 现互斥排他锁(mutual exclusion)。实际上,我们可以认为获取主节点 身份的过程其实就是获取锁的过程,获得主节点控制权锁的进程即主节 点进程。