内容简介:这一节我们来认识一下在Kafka中有着超然地位的Zookeeper。ZooKeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper的目标就是封装好复杂、易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper有以下一些特点:
这一节我们来认识一下在Kafka中有着超然地位的Zookeeper。
Zookeeper初识
ZooKeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper的目标就是封装好复杂、易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Zookeeper有以下一些特点:
- Zookeeper的内部数据结构是树状结构的。
- 每个节点称为zNode。
- 每个zNode都有一个唯一路径(path)。
- zNode分长久存在的和临时存在的。
- 每个zNode都可以存储数据。
- zNode不能重命名。
- 每个zNode的任何变化都可以被监控。
所以Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,Zookeeper作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理,可以说,Zookeeper相当于带有通知机制的文件系统。
Role of Zookeeper in Kafka
Zookeeper在Kafka中的地位是超然的。它的主要作用有以下几点:
- Zookeeper管理着Kafka集群中的若干个Broker,保存着一份完整的Broker列表。
- 维护Topic信息,比如Partitions、Replication Factor、ISR等。
- Zookeeper帮助选举Partition的Leader.
- 当有任何变动时,由Zookeeper给Kafka发送通知,比如添加一个新的Topic、Broker挂掉了、删除Topic等等。
- Zookeeper集群中也有Leader和Follower的概念。Leader负责写数据,Follower负责读数据.
- 存储Kafka集群ID。
- 存储访问控制列表(ACL,Access Control List)。控制Topic、Consumer Group、User等访问权限。
Size of Zookeeper
Zookeeper对于Kafka有一个很重要的投票选举功能。所以通常情况下Zookeeper集群最少使用三个Server。如果增加更多Server,那最好是奇数个Server(3,5,7,9,2N+1)。因为Zookeeper有一个特性,就是集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个Zookeeper Server,那么只要有1个Zookeeper Server宕机,整个集群就不能用了,因为1没有过半,所以我们要搭建奇数个Server,这样就可以保证最大允许1,2,3,4,N个Server宕机,而保证整个系统不受影响。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Kafka从上手到实践-初步认知:MQ系统
- 为各行各业构建认知解决方案,第 3 部分: 让认知数据变得可以搜索和理解的设计模式
- 认知
- [原]对开源的认知
- 对过WAF的一些认知
- 对过 WAF 的一些认知
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Build a Billion Dollar App
George Berkowski / Little, Brown Book Group / 2015-4-1 / USD 24.95
Apps have changed the way we communicate, shop, play, interact and travel and their phenomenal popularity has presented possibly the biggest business opportunity in history. In How to Build a Billi......一起来看看 《How to Build a Billion Dollar App》 这本书的介绍吧!