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的安装及监控中心

一,安装jdk            1. jdk 存放在哪里  /opt     2. 把软件拷贝到/opt     3. 绿色软件,解压     4.设置环境变量        v...

ZooKeeper监控

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

ZooKeeper原理及使用

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

一篇文章读懂分布式服务框架ZooKeeper

在SOA架构设计中。系统对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务,来快速搭建更多,更丰富的业务。从而降低新业务开展的人力和时间成本,已快速满足瞬息万变的市场需求。而公共的业务被拆...
  • canot
  • canot
  • 2016年11月25日 16:27
  • 917

Zookeeper之——关于Zookeeper的那些事

官方网址:http://zookeeper.apache.org/ 一、 什么是Zookeeper Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调...

ZooKeeper示例 实时更新server列表

[转载请注明作者和原文链接,  如有谬误, 欢迎在评论中指正. ]  通过之前的3篇博文, 讲述了ZooKeeper的基础知识点. 可以看出, ZooKeeper提供的核心功能是非常简单, ...

MySQL:性能监控 4 大指标

【编者按】本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标。 文章系国内 ITOM 管理平台 OneAPM 编译呈现。    MySQL 是什么?   ...

分布式消息队列RocketMQ部署与监控

========================================================================================== 一、Rock...

Zookeeper可视化监控zkui2.0

  • 2016年09月26日 15:42
  • 7.95MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Zookeeper监控的原理
举报原因:
原因补充:

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