Zookeeper监控的原理

转载 2017年01月03日 09:55:05


之前写的负载均衡服务器项目,只能在启动时配置结点,运行状态时节点宕机倒是可以删除它。但是不能实时得检测节点信息,尤其是如果新增节点还要服务器重启重新配置,本文的 Zookeeper 给了我一个思路。


当服务越来越多,规模越来越大时,对应的机器数量也越来越大,单靠人工来管理和维护服务及地址的配置地址信息,已经很困难了,并且,依赖单一的硬件负载均衡设备或者使用LVS.nginx等软件方案进行路由和负载均衡调度,单点故障的问题也开始凸显,一旦服务路由或者负载均衡服务器宕机,依赖他的所有服务均将失效。


         此时,需要一个能够动态注册和获取服务信息的地方。来统一管理服务名称和其对应的服务器列表信息,称之为服务配置中心,服务提供者在启动时,将其提供的服务名称、服务器地址注册到服务配置宗新,服务消费者通过服务配置中心来获得需要调用的服务的机器列表。通过相应的负载均衡算法,选取其中一台服务器进行调用。当服务器宕机或者下线时,相应的机器需要能够动态地从服务配置中心里面溢出,并通知相应的服务消费者,否则服务消费者就有可能因为调用到已经失效服务而发生错误,在这个过程中,服务消费者只有在第一次调用服务时需要查询服务配置中心,然后将查询到的信息缓存到本地,后面的调用直接使用本地缓存的服务地址列表信息,而不需要重新发起请求道服务配置中心去获取相应的服务地址列表,直到服务的地址列表有变更(机器上线或者下线)。这种无中心化的结构解决了之前负载均衡设备所导致的单点故障问题,并且大大减轻了服务配置中心的压力


         基于Zookeeper的持久和非持久节点,我们能够近乎实时地感知到后端服务器的状态(上线、下线、宕机)通过集群间的zab协议,使得服务配置信息能够保持一致。而zookeeper本身容错特性和leader选举机制,能保障我们方便进行扩容,通过zookeeper来实现服务动态注册。机器上线和下线的动态感知,扩容方便,容错性好,且无中心化结构能够解决之前使用负载均衡设备所带来的单点故障问题,只有当配置信息更新时才会去zookeeper上获取最新的服务地址列表,其他时候使用本地缓存即可。
 
         一旦服务器与zookeeper集群断开连接,节点也就不存在了,通过注册相应的watcher,服务消费者能够第一时间获知服务提供者机器信息的变更,利用其znode的特点和watcher机制,将其作为动态注册和获取服务信息的配置中心,统一管理服务名称和其对应的服务器列表信息,我们能够近乎实时地感知到后端服务器的状态(上线、下线、宕机).zookeeper集群间通过zab协议,服务配置信息能够保持一致,而zookeeper本身容错特性和leader选举机制,能够保障我们方便的扩容。


--from《大型分布式网站架构设计与实践》


转自:http://blog.csdn.net/yusiguyuan/article/details/47682537

zookeeper 监控指标

目前zookeeper获取监控指标已知的有两种方式: 1、通过zookeeper自带的 four letter words command 获取各种各样的监控指标 2、通过JMX Client连接zo...
  • hackerwin7
  • hackerwin7
  • 2015年02月06日 09:57
  • 14061

ZooKeeper监控

在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作。目前开源世界中暂没有一个比较成熟的zookeeper-monitor, 于是开始zookeepe...
  • xiaolang85
  • xiaolang85
  • 2014年03月21日 17:57
  • 29235

Zookeeper 监控原型开发

背景最近正在想法做一个zookeeper监控的方案,首选第一步就是如何拿到可用于监控zookeeper的监控指标。目前从zookeeper的documentation上面了解到:The ZooKeep...
  • hackerwin7
  • hackerwin7
  • 2015年02月28日 14:49
  • 4003

通过 JMX 监控Zookeeper

修改zookeeper的启动脚本vim zkServer.sh。 找到启动参数ZOOMAIN:# use POSTIX interface, symlink is followed automati...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2017年03月25日 09:18
  • 1033

通过JMX监控Zookeeper

JMX监控zookeeper
  • u013673976
  • u013673976
  • 2015年08月06日 18:49
  • 4827

ZooKeeper原理及使用

ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇...
  • xinguan1267
  • xinguan1267
  • 2014年08月07日 17:19
  • 158594

Zookeeper原理架构

本文纯属个人笔记,通俗易懂,转载请附上原文链接!部分资料摘自网络,如有雷同,纯属巧合!Zookeeper到底是什么!?学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是...
  • xuxiuning
  • xuxiuning
  • 2016年04月22日 11:59
  • 14482

使用ZooKeeper实现软负载均衡(原理)

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括配置维护、名字服务、分布式同步、组服务等。 ZooKeeper会维护一个树形的数据结构,类似于Windows资源管理器...
  • autfish
  • autfish
  • 2016年06月03日 11:40
  • 13002

Zookeeper基本概念及工作原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其...
  • u013068377
  • u013068377
  • 2016年09月22日 11:19
  • 1260

Zookeeper的功能以及工作原理

1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提...
  • xqb_756148978
  • xqb_756148978
  • 2016年08月20日 08:45
  • 3329
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Zookeeper监控的原理
举报原因:
原因补充:

(最多只允许输入30个字)