Zookeeper, 大数据

zookeeper-01 入门

概述

zookeeper是一个开源的分布式的

zookeeper从设计模式来理解:是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,zookeeper就将负责通知已经在zookeeper上注册的那些观察者做出相应的反应

zookeeper = 文件系统 + 通知机制

特点

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

数据结构

每个节点称作一个ZNode

每个ZNode默认能够存储1MB的数据

每个ZNode都可以通过其路径唯一标识

应用场景

统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡

  • zookeeper可以实现实时监控节点状态变化
    • 可将节点信息写入zookeeper上的一个ZNode
    • 监听这个ZNode可获取它的实时状态变化