当前位置: 首页 > news >正文

[000-01-030].第7节:Zookeeper工作原理

1.Zookeeper工作原理:

1.1.Zookeeper的工作机制

  • 1.Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架;
  • 2.Zookeeper负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就会去负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。
    在这里插入图片描述

1.2.Zookeeper数据结构:

  • 1.Zookeeper数据结构模型与Unix系统类似,可以看成一棵树,每个节点称之为:ZNode
  • 2.每个ZNode默认存储数据1MB,所以Zookeeper一般就是存储一些配置信息,不可以存储大数据量的信息;每个ZNode都可以通过其路径唯一标识
    在这里插入图片描述

1.3.Zookeeper集群环境下的特点:

在这里插入图片描述

  • 1.Zookeeper:只有一个领导者(Leader),多个跟随者(Follower)组成的集群
  • 2.集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器
  • 3.全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的
  • 4.更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。 (先进先出)
  • 5.数据更新原子性(更新要么都成功,要么都失败),一次数据更新要么成功,要么失败
  • 6.实时性,Zookeeper数据同步的时间很快,在一定时间范围内,Client就能读到最新数据

1.4.集群环境下Zookeeper的选举机制:

a.Zookeeper选举机制——第一次启动

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

b.Zookeeper选举机制-非第一次启动

在这里插入图片描述


1.5.客户端向服务端写数据的流程:

a.写流程之写入请求直接发送给Leader节点

在这里插入图片描述

b.写流程之写入请求发送给follower节点

在这里插入图片描述


http://www.mrgr.cn/news/857.html

相关文章:

  • 自定义类型:联合和枚举
  • ansync/await 运行流程图
  • docker部署lnmp
  • 理解Linux中的作业控制:详解fg、bg和jobs命令
  • 微服务设计原则——高性能:异步与并发
  • JaCoCo作为Agent获取Java覆盖率
  • 天童美语:世界左撇子日
  • package.json 中 browser 字段规范
  • 基于微信小程序地图实现点位标注、覆盖物、地图聊天
  • C++——入门基础(上)
  • 机器学习:逻辑回归原理、参数介绍和优缺点
  • Python实现水果忍者(开源)
  • 第二十二节、创建人物状态栏
  • 数字货币发行项目开发基本要求及模式创建与海外宣发策略
  • Docker最佳实践进阶(二):Docker Compose容器编排
  • MATLAB算法实战应用案例精讲-【人工智能】【概念篇】多方安全计算
  • 【解析几何笔记】3.向量分解定理
  • 微信支付流程
  • 面试题:MQ
  • 交通感知与车路协同系统-计算机毕设Java|springboot实战项目