zookeeper是动物(🍮)管理员的意思。
ZooKeeper是一个分布式的,开放源码(🍳)租前慎的分布式应用(👪)程序协调服(📳)务(🛬),是Google的Chubby一个开源的实现,是Hadoop和Hbase的重(🔪)要组件。它是一个为分布式应用提供一致性服务的软件,提供的(💿)功能包括:配置维护(🏢)、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关(⛓)键服务(🐘),将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一(🍥)个简单的原语集,提(🅾)供Java和(📫)C的接口。
ZooKeeper代码版(🔪)本中(🕎),提(📪)供了分(⚾)布式独享锁、选举、(🐢)队列的(🚠)接口(🕙),代码在$zookeeper_home\src\recipes。其中分布锁和(🤘)队(🏰)列有(🐰)Java和C两(💵)个版本,选举只有Java版本(⛷)。
它的原理:
ZooKeeper是以Fast Paxos算悔判法(🐈)为基础的,Paxos 算法(🕠)存在活锁的(💬)问题,即当有(🏬)多个proposer交(💹)错提交时,有弊敬可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos做了(🍫)一些优化,通(👦)过选举产生一(🎾)个(💽)leader (领(🖤)导者),只(🗃)有leader才(🐚)能提交proposer,具体算(⛸)法可见Fast Paxos。因此,要想弄懂ZooKeeper首(🤢)先得对Fast Paxos有所了解。
ZooKeeper的基本运转流(🎬)程:1、选举(🌟)Leader。2、(🍘)同(🐊)步数(🧕)据。3、选(⏳)举(🍣)Leader过程中算法有很多(🅾),但(⏭)要达(💚)到的选(🏾)举标准是一致的(📋)。4、Leader要具有最(🧥)高的执行ID,类似root权限。5、集群(🚀)中大多数的机(🌝)器得到响应并接受选出的(🌂)Leader。
该片没跑出俗套,依然是胖子衰仔泡美女的套(👁)路,只不过(🏦)多(📼)了一(👍)些“会说人话”、帮助他的动(😁)物朋友((🌟)网易娱乐评) 。该片走的是《博物馆奇妙夜》的(😬)路线(🚞),凯文·詹姆斯饰演的动物园看守(🏬),在一群会讲话的动物(⏺)的帮(💪)助下追(🤐)女仔。该片作为爱情(🌥)喜剧是不好笑的,用(🐰)闹剧的标准来看,还可以了。部分观众认为(🥌)看这(🧤)片是浪(🥧)费时间,电(⬅)影(💨)没(🐫)必要拍得如此差((✒)网易娱乐评) 。