Zookeeper概述

Zookeeper概述_第1张图片

ZooKeeper概述

ZooKeeper是什么

  1. zookeeper是一个为分布式应用程序提供的一个分布式开源协调服务框架。是Google的Chubby的一个开源实现,是Hadoop和Hbase的重要组件。主要用于解决分布式集群中应用系统的一致性问题。
  2. 提供了基于类似Unix系统的目录节点树方式的数据存储。
  3. 可用于维护和监控存储的数据的状态的变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理
  4. 提供了一组原语(机器指令),提供了java和c语言的接口

Zookeeper的特点

  1. 也是一个分布式集群,一个领导者(leader),多个跟随者(follower).
  2. 集群中只要有半数以上的节点存活,Zookeeper集群就能正常服务。
  3. 全局数据一致性:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的。
  4. 更新请求按顺序进行:来自同一个client的更新请求按其发送顺序依次执行
  5. 数据更新的原子性:一次数据的更新要么成功,要么失败
  6. 数据的实时性:在一定时间范围内,client能读到最新数据。

Zookeeper概述_第2张图片

Zookeeper的数据模型

Zookeeper的数据模型采用的与Unix文件系统类似的层次化的树形结构。我们可以将其理解为一个具有高可用特征的文件系统。这个文件系统中没有文件和目录,而是统一使用"节点"(node)的概念,称之为znode。znode既可以作为保存数据的容器(如同文件),也可以作为保存其他znode的容器(如同目录)。所有的znode构成了一个层次化的命名空间。

Zookeeper概述_第3张图片

znode

  • Zookeeper被设计用来实现协调服务,这类服务通常使用小数据文件,而不是用于大容量数据存储,因此一个znode能存储的数据被限制在1MB以内,
  • 每个znode都可以通过其路径唯一标识。

Zookeeper的应用场景

  1. 统一配置管理
  2. 统一集群管理
  3. 服务器节点动态上下线感知
  4. 软负载均衡等
  5. 分布式锁
  6. 分布式队列

4.1.5. zookeeper的作用

  • 负责提供阶段的监听注册作用

  • 负责接收用户的心跳,进行通信,感知用户的状态

  • 负责为用户提供注册,查找信息

  • 负责负载均衡

注意:

  • 如果现在再新增一个服务器,要先完成在zookeeper中的注册,这时我就知道可以有一个新的服务器可用,分配任务时进行较平均分配(负载均衡)

  • zookeeper可以单机版,但是他的压力也很大,所以一般zookeeper也是一个分布式的

 更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取大数据学习全套资料!

 

你可能感兴趣的:(大数据从0到1的完美落地,zookeeper,分布式,云原生)