Zookeeper系列(三):应用场景

Zookeeper被普遍应用于各类分布式集群场景中,好比Hadoop、Storm、Spark、Kafka等,要想学好大数据分析,不可避免的要用到大规模机器集群,了解和掌握Zookeeper的工做原理将会对学好大数据分析起到事半功倍的做用。node

一、实时配置文件算法

Zookeeper能够做为互联网应用的实时配置开关,将配置信息设置在Zookeeper的node上,并在应用中设置Zookeeper的观察者,实时获取该node关联数据的变化,达到动态实时控制应用的配置信息的目的,实时调控生产环境各项参数。apache

在大型电商网站中,这种方式可用于节假日等流量爆发的场景,关闭某些不过重要的电商网站功能,下降并发量大爆发对服务器性能的冲击。 服务器

二、Kafka中使用并发

Kafka经过Zookeeper的使用提供给客户端负载均衡能力,每一个Kafka客户端直接经过链接Zookeeper就能得到整个Kafka的配置信息。负载均衡

Kafka将队列服务的机器注册在Zookeeper上,同时维护客户端列表,依靠负载均衡算法将客户端动态分配到合适的队列分区上,维持整个集群的负载均衡。客户端不须要预先知道当前的队列到底分配在哪一个机器上,经过Zookeeper获取队列分配的动态变化。分布式

三、Hadoop使用oop

在Hadoop1.x版本中Master是单节点模式,存在单点故障不支持热备份。Hadoop2.x版本已经开始支持使用Zookeeper做为Master节点的高可靠性方案。性能

Hadoop客户端链接集群时指定Zookeeper服务器地址,从Zookeeper获取当前Master节点地址,进而链接Master操做Hadoop。Hadoop客户端同时监听Zookeeper中数据变化,当Master节点切换时会将切换状态变动保存到Zookeeper中,同时Zookeeper会触发数据变化监听客户端,通知Hadoop客户端切换Master地址,达到热切换(HA)的目的。大数据

四、参考

ZooKeeper官网:http://zookeeper.apache.org/

Netty官网:http://netty.io/

相关文章
相关标签/搜索