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

分布式2(Zookeeper )

Zookeeper

定义:简单的说zookepper=文件系统+监听通知机制

是一个分布式协调服务,CP为了分布式应用提供了一致性服务的软件,

可以基于它实现统一配置管理、命名服务、分布式锁、集群管理

负载均衡、分布式队列、Master 选举等。

场景:

配置管理 【数据发布与订阅配置中心

                数据发布到zk节点上,供订阅者动态获取数据,

                实时更新watch机制。比如全局配置信息、地址列表。K-V结构。

命名服务: 通过名字获取服务资源或者服务地址。

集群管理 :是否有机器退出和加入、选举mater。

分布式锁: 临时有序节点 ,监听器

                【临时zk 死掉会释放锁,有序 就是先获取最小的,然后依次执行】

持久化/临时目录  -->有序

客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。

使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点 进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了

ZK 通常指 ZooKeeper,是一个分布式协调服务,在分布式系统中起着关键作用。

从架构上看,ZooKeeper 由服务器集群组成,集群中的节点分为领导者(Leader)、跟随者(Follower)和观察者(Observer)。Leader 负责处理事务请求,比如写操作,同时管理整个集群的状态变化。Follower 用于处理客户端的读请求,并与 Leader 保持数据同步,还参与领导者选举。Observer 可以接收客户端的读请求,能提高集群的读性能,其数据也从 Leader 同步,但不参与选举过程。

在数据存储方面,ZooKeeper 使用类似文件系统的树形数据结构,其中的每个节点称为 znode。znode 可以存储数据,数据格式一般是字节数组,并且每个 znode 都有一个唯一的路径来标识。znode 有多种类型,包括持久节点、临时节点和顺序节点。持久节点在创建后会一直存在,除非被显式删除;临时节点在创建它的客户端会话结束时自动删除,可用于实现分布式锁等功能;顺序节点在创建时会在节点名后加上一个递增的数字,常被用于实现分布式队列等功能。

ZooKeeper 有重要的应用场景。在分布式锁的应用中,通过在 ZooKeeper 上创建临时顺序节点,多个客户端竞争锁时,只有序号最小的节点对应的客户端获得锁使用完后删除节点释放锁

配置管理上,系统的配置信息可以集中存储在 ZooKeeper 的 znode 中,客户端可以对配置节点进行监听,当配置发生改变时,ZooKeeper 会通知客户端,实现配置的动态更新。

对于服务发现,服务提供者将自己的服务信息注册到 ZooKeeper 的某个 znode 下,服务消费者通过查询该节点获取服务提供者列表,并且能通过监听机制及时知晓服务提供者的变化。

此外,ZooKeeper 在一些大型分布式系统中有广泛应用。比如在 Hadoop 生态系统中,它被用于协调多个组件之间的资源分配、任务调度和状态管理等。在 Kubernetes 中,也可以用于集群的管理和协调,保障集群的稳定运行。

 Dubbo

 Dubbo,它是一款高性能、轻量级的开源微服务框架,以下是详细介绍:

待续

相关文章:

  • ubuntu 22.04 wifi网卡配置地址上网
  • OpenHarmony轻量系统--BearPi-Nano开发板网络程序测试
  • 常见排序算法及其java实现
  • Redis缓存穿透、雪崩、击穿的解决方案?
  • 基于OpenCV中的图像拼接方法详解
  • Python----神经网络(《Searching for MobileNetV3》论文概括和MobileNetV3网络)
  • 前端安全:XSS、CSRF 防御与最佳实践
  • 【漫话机器学习系列】259.神经网络参数的初始化(Initialization Of Neural Network Parameters)
  • AI与机器学习深度集成:从设备端能力爆发到开发工具智能化
  • C++笔记-AVL树(包括单旋和双旋等)
  • 比亚迪固态电池突破:王传福的技术哲学与产业重构|创客匠人热点评述
  • 第29节:现代CNN架构-Inception系列模型
  • 深度学习中的查全率与查准率:如何实现有效权衡
  • 在RAG中 如何提高向量搜索的准确性?
  • 视频编解码学习十二之Android疑点
  • openfeign 拦截器实现微服务上下文打通
  • 【机器人】复现 SG-Nav 具身导航 | 零样本对象导航的 在线3D场景图提示
  • react中安装依赖时的问题 【集合】
  • FPGA:Xilinx Kintex 7实现DDR3 SDRAM读写
  • b站视频如何下载到电脑——Best Video下载器
  • 李家超:明日起香港特区护照持有人可免签入境阿联酋
  • 王征、解宁元、牛恺任西安市副市长
  • 《克莱默夫妇》导演罗伯特·本顿去世,终年92岁
  • 中国科考船在钓鱼岛附近活动,外交部:完全是中国主权权利范围内的事
  • 警方通报“网约车司机偷拍女乘客”:已被行政拘留
  • 当我们提起拉动消费时,应该拉动什么消费?