《企业级大数据平台构建:架构与实现》——2.2 Zookeeper

举报
华章计算机 发表于 2019/06/06 15:47:51 2019/06/06
【摘要】 本书摘自《企业级大数据平台构建:架构与实现》——书中第2章,2.2.1节,作者是朱凯。

2.2 Zookeeper

2.2.1 概述

Zookeeper是一款分布式协同管理框架,是Google Chubby的开源实现,主要用来解决分布式应用中经常会遇到的一些问题。在很多场合交流的过程中,我发现大家对Zookeeper会有很多疑问。虽然我们在很多分布式系统中经常能够看到Zookeeper的身影,但是却说不出它到底是干什么的,它在分布式系统中扮演着什么样的角色。在很多Zookeeper的介绍中提到它是进行分布式系统协同管理的,那么分布式协同管理又到底是在管理些什么呢?

要回答上述的这些问题,我们首先要聊一聊实现一个分布式系统时会遇到的一些难题。既然是分布式系统,我们的程序进程自然会在多台服务器上协同进行工作,那么我们要解决的第一个问题是配置同步的问题。当配置文件有更新的时候,如何快速地将运行在多台服务器上的程序配置进行同步更新?Master/Slave架构是分布式系统中常见的一种集群模式,即通过一个Master节点统一管理协调多个Slave节点。那么这里就会面临第二个问题,Master节点如何感知Slave的存在?比如现在有多少个Slave连接到Master了?它们的状态是健康的还是异常的?当Master节点不可用的时候,通常需要从Slave节点中选举一个新的Master保持服务的正常运作,那么这个选举过程如何实现?

你看,我们只是随便聊了一会就列举出了这么多个令人头疼的问题。可想而知如果从零开始构建一个分布式的集群服务是多么困难。Zookeeper的作用就是帮助我们来解决这些琐碎的令人头疼的事情。

如图2-4所示,Zookeeper自身拥有高度的可靠性、可扩展性和容错性,能提供统一命名服务、分布式锁、分布式队列、选举、配置同步、心跳检查等功能。有了Zookeeper的帮助,开发实现一个分布式系统就会显得容易很多。像HBase、Kafka、SolrColud等众多知名框架都是使用Zookeeper实现分布式协同管理的。

image.png

图2-4 Zookeeper的逻辑架构图

Zoo keepr的逻辑架构也是一个典型的主从架构,它从众多Server服务中通过选举产生一个主控节点。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。