Zookeeper(1)zookeeper介绍

什么是zookeeper?以下是官方文档地址
https://zookeeper.apache.org/doc/current/zookeeperOver.html
在这里插入图片描述
zookeeper可以翻译成动物园管理员,从字面意思来看,它是用来管理xxxx的。然后看官方定义,分布式应用程序的分布式协调服务。这样大概知道它是用于分布式管理的…好不清晰的介绍…

zookeeper可以理解为一个文件系统,因为ZooKeeper提供的名称空间与标准文件系统的名称空间非常相似。以下图片来自zookeeper官方文档。
在这里插入图片描述

接下来,看看分布式的概念,看看能不能把这里作为突破口来理解。

分布式,与之对应的就是集中式了吧。所谓集中式就是我们在学分布式之前一直做的系统,整个项目都部署在一个服务器上,这样的项目也叫单体架构的项目。

那么分布式呢?

分布式系统将大型的项目划分为多个功能模块,然后每个模块在他们各自独立的服务器上运行,合在一起就是一个完整的项目啦!分布式系统由多台计算机构成,计算机之间通过网络进行通信。

那zookeeper在这里充当一个什么样的角色呢?看下它能用来做些什么?

zookeeper有以下应用场景:

  1. 注册中心
    在这里插入图片描述
    服务器在注册中心进行注册,在客户端需要服务时,在还不知道谁能提供服务时,需要“咨询”注册中心,看看有没有已经注册的自己需要的服务。注册中心如果有的话会告知客户端去找哪个服务器,如果没有,待有服务器注册后再告知。客户端知道找谁服务自己时,就能够自己去找服务器要啦!
    怎么知道有没有呢?如果把zookeeper理解成文件系统的话,通过判断某个目录下是否有文件的方式即可。
  2. 配置中心(数据发布、订阅同理)
    对于分布式系统来说,配置中心的存在是很有必要的。因为分布系统是划分为多个部分的,要修改一个部分的配置,其他部分往往也需要修改,正所谓牵一发而动全身。为了避免这种复杂的情况,就需要配置中心了!
    配置中心的作用就是把所有的配置集中在一起,直接在配置中心进行修改,配置中心发生变动后会通知所有模块,让他们能够及时进行更新,实现动态获取数据的目的。
    在这里插入图片描述
    所有的服务都不存储配置信息,配置信息都集中在配置中心。服务启动时就会从配置中心读取配置信息。配置信息发生变化时会告知所有服务,服务再重新获取最新的配置信息。
  3. 分布式锁
    系统资源并不都是共享的,很多情况下需要互斥访问,这是因为同时访问时可能造成请求的系统资源不一致的问题。例如有10个资源,A服务说它要取走一些,B服务要统计资源总数量,C服务要修改一些信息,如果他们同时去做这些事情,可要乱套了。所以“锁”很重要啊!!所谓锁,就是让他们互斥访问系统资源,一个个来嘛。zookeeper怎么实现分布式锁呢?还是通过判断xx文件夹是是否有文件来判断是否被占用的思路。访问添加文件,结束访问删除文件…
  4. 分布式队列
    分布式锁的应用,在一个服务访问结束后,其他需要访问资源的服务就会抢着想要成为下一个访问者,这样就会出现“惊群效应”。要解决这个问题,很简单,想想学校小卖部很多人挤破头的时候是不是一定会有个阿姨大喊“请排队”!于是分布式队列就起作用啦!
    当然,这只是分布式队列的应用之一,对列的用处可不仅仅如此。那么分布式队列怎么实现呢?定义每个文件夹下只能有一个文件,一个连着一个…排着队…又或者是定义一个文件下固定n个文件,一批队伍n个人这样…
  5. 负载均衡
    负载均衡是一个什么样的概念?举个例子,一项繁重的工作,只给一个人完成,这个人就会很累,如果分摊几个人,就会相对轻松些。但是每个人能够完成工作的能力是不一样的,这个时候就需要通过负载均衡算法,根据每个人的能力、从能够完成这些工作的人中选几个出来高效的完成这个工作。负载均衡,不仅是负载减少,也要注意均衡。
    zookeeper实现负载均衡:
    在这里插入图片描述
    服务器启动后在注册中心进行注册,这些服务器都作为临时结点注册。客户端需要服务了,就在注册中心看看哪个服务器能提供服务。如上图,如果服务器123都能提供这个服务,那么这时候可以通过一些负载均衡算法,从这些服务器里面选出一个或多个来提供服务。负载均衡算法在这不做叙述了…

以上就是对zookeeper的一些初步认识。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值