zookeeper系列之:zookeeper简介浅谈

1、zookeeper的定义node

  打开zookeeper官网,赫然一行大字,写着:“Apache ZooKeeper致力于开发和维护实现高度可靠的分布式协调的开源服务器”。什么意思呢?就是Apache ZooKeeper的目标是开发维护开源服务器,这服务器是干什么的呢?是作分布式协调的。这服务器的特色是什么呢?是高度可靠的。关键就是高度可靠,不用去验证,也不用怀疑zookeeper的高度可靠性,搜索应用界的大佬solr和大数据服务界的大佬Hadoop就是使用zookeeper提供集群管理。程序员

2、什么是zookeeperapache

  ZooKeeper诞生于Yahoo,后转入Apache孵化,最终孵化成Apache的顶级项目,是Hadoop和Hbase的重要组件。ZooKeeper是一种集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。全部这些类型的服务都以分布式应用程序的某种形式使用。因为实现上述需求都须要作不少工做来修复不可避免的错误和竞争条件。所以,这些服务的实现变得很是困难,即便这些服务顺利完成,管理和运维的成本也很是高,因此zookeeper以救世主的身份出现,解决上述技术难题,下降了分布式应用程序的开发难度和工做量,让程序员专一于分布式架构的设计。服务器

3、zookeeper的三中部署方式网络

  一、独立部署模式,即部署在单台机器上的一个zookeeper服务,适用于学习、了解zookeeper基础功能。架构

  二、伪分布模式,即部署在一台机器上的多个(原则上大于3个)zookeeper服务,虚拟分布式的zookeeper集群,适用于学习、开发和测试,不适用生产环境。运维

  三、全分布式模式(复制模式),即在多台机器上部署zookeeper服务,真正的集群模式,适合于学习、开发和测试,可投入到生产环境中使用。分布式

3、在什么场景下使用zookeeperoop

  一、集群管理性能

  ①、节点监控:集群环境下,有不少节点,节点可能由于网络故障链接不上,可能由于机器故障没法工做,要求保证集群中的节点都能正常工做,就须要把异常的节点从集群中屏蔽掉,这时使用zookeeper的短暂节点和watcher机制,能够很好的实现集群的管理。

  ②、领导者选举:集群是多个节点(可把节点理解为机器)协同工做,这是须要一个把控全局的领导者节点来接收外部请求、任务派发等,那么,领导者节点如何产生?领导者节点出现故障怎么处理?领导者选举是zookeeper最优秀的功能之一,若是当前领导者节点出现故障,zookeeper可在很短的时间内选举出新的领导者来接替故障领导者的工做。

  二、配置管理

  实际应用中,配置使应用变得灵活,可是在分布式应用下,须要到每一台机上面修改配置,维护配置则复杂不少,基于这种场景,把配置放在zookeeper的znode中,分布式应用的机器到zookeeper的znode中读取配置应用到系统中便可。此外,利用zookeeper的watcher机制,若是配置(znode)发生改变,zookeeper通知各个机器配置信息已经被修改,各机器经过刷新来获取到最新的配置。

  zookeeper还能够应用到不少场景,好比分布式锁、数据的发布和订阅、队列管理等等,此处就不一一介绍了。

4、zookeeper的性能

  zookeeper旨在提供高性能,可是zookeeper的性能如何呢?zookeeper官网提供了一份性能测试结果图,经过分析测试结果图,能够大概了解zookeeper的性能,以下图所示:

   

  从测试结果图得知测试分为5组,分别为3台服务器一组(暂且称为A组)、5台服务器一组(暂且称为B组)、7台服务器一组(暂且称为C组)、9台服务器一组(暂且称为D组)、13台服务器一组(暂且称为E组),观察到几个现象:

    ①、读取请求的百分比在60%以前,吞吐率为A>B>C>D>E。

    ②、读取请求百分比到达80%偏左侧一点,大概75%时,吞吐率开始发生变化,A组的吞吐率开始被其余组超越。

    ③、读取请求百分比到达约95%时,吞吐率发生逆转,约为E>D>C>B>A,读取请求百分比趋近于瓶颈时,zookeeper集群约庞大,知足的吞吐率约高。

    ④、zookeeper集群的吞吐率起点大约在10000左右,性能下限很高。

  结论:

    ①、zookeeper小规模集群也能提供较高的吞吐率,若是对吞吐率有较高要求时,能够经过新增zookeepe服务节点来知足需求。

    ②、随着zookeeper服务节点的增长,zookeeper的性能呈指数上升。

 

  这篇博文是zookeeper系列的第一篇,对zookeeper作一个简单的介绍,关于zookeeper的更多内容和实际操做,会在后续博文中详述。

  因为能力有限,若有不足和错误之处,还望不吝指出!

相关文章
相关标签/搜索