为何会有zookeeper?网络
分布式协做中的困难:1.保证节点高可用 2. 数据的一致性 3.通讯异常 4.网络分区.....分布式
zookeeper简介:是google的chubby项目开源实现,最先是hadoop的子项目。小米的米聊,淘宝的taokeeper实际上是zookeeper。kafka也是用了zookeeper。消息发布订阅,其中zk用于检测节点的崩溃,实现主题的发现,并保持主题的生产和消费状态。oop
zookeeper解决的问题:google
1.Master节点管理:Master高可用(挂点之后,谁来负责工做),保证惟一。hadoop
2.-配置文件管理:统一把配置文件存在zk,由zk统一分发。资源
3.发布订阅:发布者(producer)将数据发布在zk节点上,供订阅者(consumer)动态获取kafka
4.分布式锁:分布式环境访问同一个资源,有第三方配置锁实现。由zk统一进行协调,保证数据的一致性。ast
5.集群的管理:Worker集群监控。class
扩展:死锁和活锁的区别,死锁会阻塞,活锁是互相谦让,并不断的重试。集群