Kafka从上手到实践-初步认知:Zookeeper

栏目: 后端 · 发布时间: 5年前

内容简介:这一节我们来认识一下在Kafka中有着超然地位的Zookeeper。ZooKeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper的目标就是封装好复杂、易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper有以下一些特点:

这一节我们来认识一下在Kafka中有着超然地位的Zookeeper。

Zookeeper初识

ZooKeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper的目标就是封装好复杂、易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper有以下一些特点:

  • Zookeeper的内部数据结构是树状结构的。
  • 每个节点称为zNode。
  • 每个zNode都有一个唯一路径(path)。
  • zNode分长久存在的和临时存在的。
  • 每个zNode都可以存储数据。
  • zNode不能重命名。
  • 每个zNode的任何变化都可以被监控。

Kafka从上手到实践-初步认知:Zookeeper

所以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等访问权限。

Kafka从上手到实践-初步认知:Zookeeper

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宕机,而保证整个系统不受影响。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google御用網頁語言Node.js

Google御用網頁語言Node.js

郭家寶 / 佳魁資訊 / 2013-4-26 / NT 490

這是一本 Node.js 的入門教學,寫給想要學習 Node.js,但沒有任何系統的經驗的開發者。如果你聽說過 Node.js,並被它許多神奇的特性吸引,本書就是為你準備的。 透過閱讀本書,你可以對 Node.js 有全面的認識,學會如何用 Node.js 程式設計,了解事件驅動、非同步式 I/O 的程式設計模式,同時還可以了解一些使用JavaScript 進行函數式程式設計的方法。 ......一起来看看 《Google御用網頁語言Node.js》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具