前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZooKeeper的介绍

ZooKeeper的介绍

作者头像
云叶知秋
发布2021-02-25 17:14:10
6620
发布2021-02-25 17:14:10
举报
文章被收录于专栏:Unity3D学习笔记Unity3D学习笔记

前言

  软件的发展从单体应用到现在的分布式应用,软件的架构也变得越来越复杂,作为一个架构师,肯定需要了解大量的软件为自己的软件架构奠定基础,而zookeeper作为一款分布式协调的软件,被许许多多的中间件使用,如:Kafka、Hadoop、HBase、Solr等,为什么这么多的软件都使用到了ZooKeeper呢,他的好处到底在哪里呢?让我们来一起了解下。

一、zookeeper是什么?

  ZooKeeper 是apache软件基金会的顶级项目,先看看官网是怎么描述zookeeper的,如下图:

在这里插入图片描述
在这里插入图片描述

  这段描述总结一句话就是zookeeper是一款为分布式应用提供分布式协调的开源软件。

二、zookeeper的设计理念

1、服务结构图

  先看看官方提供的ZooKeeper的服务结构图

在这里插入图片描述
在这里插入图片描述

  从图中可以看得出来,ZooKeeper服务有5台Server组成,分为两种角色,Leader和Follower,Leader只能有一台,从图上可以看出,正中间的Server是Leader角色,剩下的都是Follower角色,这些后续会通过实际操作来进行查看和证实。   另外还有一批Client(具体应用)连接到Server,通过各自连接的Server实现各自的分布式功能。

2、ZooKeeper的数据模型

在这里插入图片描述
在这里插入图片描述

  ZooKeeper采用目录树的结构来设计的数据模型,每个节点都可以存储数据,但是每个节点存储的数据不能超过1M,这是官方为了避免使用者把ZooKeeper当作数据库来使用了,为什么不能把ZooKeeper当作数据库来使用呢,这个话题我们后面在讲性能时再进行解释。

3、性能

在这里插入图片描述
在这里插入图片描述

  官方宣称ZooKeeper快,简单,那我们先看看官方的压测数据,上图横坐标是读请求所占的比例,纵坐标是每秒发送的请求数,红色实线是ZooKeeper自身是3台服务器集群的性能曲线,绿色虚线是5台,蓝色虚线是7台,紫色虚线是9台,浅蓝色虚线是13台

读写比例

并发量

20%

20000左右

40%

22000左右

60%

30000左右

80%

60000左右

95%

110000左右

  表格只是我个人目测的大概的数据,但是从图形结合表格来看,ZooKeeper在处理读数据请求时,性能是非常优秀的。所以如果我们把ZooKeeper当作数据库来用的话,不仅违背了作者当初的设计初衷,同时也无法真正发挥ZooKeeper的性能优势。

4、可靠性

在这里插入图片描述
在这里插入图片描述

  上图是官方的压测结果,官方使用910个客户端并发压测,期间出现2次低谷,这两次低谷都是重新选主导致的,根据官方描述,ZooKeeper重新选主只消耗了200ms,性能非常可靠,重新选主后的ZooKeeper有可以对外正常提供服务,并且性能并没有受到什么影响。

总结

  以上就是今天要讲的内容,本文仅仅简单介绍了ZooKeeper。   ZooKeeper目前已经被成功的广泛应用到大量的工业级应用中,比如Yahoo。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、zookeeper是什么?
  • 二、zookeeper的设计理念
    • 1、服务结构图
      • 2、ZooKeeper的数据模型
        • 3、性能
          • 4、可靠性
          • 总结
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档