ZooKeeper初步

ops/2024/10/21 5:48:06/

1.概述

ZooKeeper 是一个开源的分布式协调服务,通常用于构建分布式系统中的可靠性和协调性。它提供了一个简单的接口,允许开发人员在分布式应用程序中实现常见的任务,如配置管理、命名服务、分布式同步、组成员关系等。
在这里插入图片描述


2.工作机制

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


3.特点

ZooKeeper 是一个非常强大的分布式协调服务,具有许多特点,其中一些主要特点包括:

  1. 高可靠性

    • ZooKeeper 使用了分布式复制技术来确保数据的可靠性和持久性。数据在多个节点之间复制,如果某个节点发生故障,集群仍然可以继续提供服务。
  2. 一致性

    • ZooKeeper 提供了严格的一致性保证。所有对数据的更新操作都会按照相同的顺序被应用到所有的节点上,确保了数据的一致性。
  3. 顺序访问

    • ZooKeeper 保证了客户端对数据的顺序访问。所有更新操作都有全局唯一的顺序号,客户端可以根据这个顺序号来确保数据的一致性和顺序性。
  4. 数据节点

    • ZooKeeper 使用类似于文件系统的层次化命名空间来组织数据,称为 znode。每个 znode 可以存储一小段数据,并且可以具有子节点,这样就可以构建出复杂的数据结构。
      在这里插入图片描述
  5. Watcher 机制

    • ZooKeeper 提供了 Watcher 机制,允许客户端注册对数据节点的关注。当数据节点发生变化时,注册了 Watcher 的客户端将会收到通知,从而可以及时响应数据的变化。
  6. 低延迟

    • ZooKeeper 的设计追求低延迟,可以在毫秒级的时间内完成数据的读写操作,适用于需要快速响应的分布式系统场景。
  7. 简单的API

    • ZooKeeper 提供了简单易用的 API,使得开发人员可以方便地与 ZooKeeper 进行交互,实现分布式应用程序的开发和部署。
  8. 广泛应用

    • ZooKeeper 不仅仅用于分布式协调和管理,还可以用于实现分布式锁、选举、队列等功能,因此被广泛应用于大型分布式系统中。

这些特点使得 ZooKeeper 成为了构建可靠、高性能<a class=分布式系统的重要组件,被广泛应用于互联网公司、大数据领域、分布式数据库等多个领域。" />


4.主要应用场景

1.统一配置管理

在这里插入图片描述

2.统一集群管理

在这里插入图片描述

3.服务器动态上下线

在这里插入图片描述


http://www.ppmy.cn/ops/5614.html

相关文章

‘language‘不能作为表名或字段名

今天写一个C#访问Access的程序&#xff0c;拼接SQL语句时一直出错&#xff0c; string sql "insert into dllinfos (dllname,dllfilename,type,functions,harm,repairmethod,issys, paths, ishorse, language, version, company) values (" textBox1.Text ",…

【python】ptthon函数自学

print("Hello Python world!") # 变量 message"Hello" print(message) message"Hello Python world!" print(message)# 引号&#xff1a;可以是单&#xff0c;可以是双 messageI told my friend, "Python is my favorite language!" p…

算法练习|Leetcode189轮转数组 ,Leetcode56合并区间,Leetcode21合并两个有序链表,Leetcode2两数相加,sql总结

目录 一、Leetcode189轮转数组题目描述解题思路方法:切片总结 二、Leetcode56合并区间题目描述解题思路方法:总结 三、Leetcode21合并两个有序链表题目描述解题思路方法:总结 四、Leetcode2两数相加题目描述解题思路方法:总结 sql总结: 一、Leetcode189轮转数组 题目描述 给定…

电脑不能上网,宽带调制解调器出现问题如何处理

目录 一、问题说明 二、解决方案 一、问题说明 内网的设备能互联&#xff0c;内网的各个设备无法连外网。 电脑在检测网络时&#xff0c;出现以下提示&#xff1a; 二、解决方案 首先重启光猫&#xff08;我们是电信宽带&#xff09;。 如果还是有问题&#xff0c;再重启…

有公网IP,如何设置端口映射实现访问?

很多中小型公司或个人会根据自身需求自建服务器&#xff0c;或者将自己内网的服务、应用发布到外网&#xff0c;实现异地访问&#xff0c;如远程桌面、网站、数据库、公司的管理系统、FTP、管家婆、监控系统等等。 没接触过的人可能会觉得这个很难&#xff0c;实际上使用快解析…

如何创建响应式HTML电子邮件模板

在这个适合初学者的指南中&#xff0c;你将学习如何创建一个响应式电子邮件模板。你将跟随逐步说明以及代码片段设计一个在任何设备上都看起来很棒的电子邮件模板。 这个项目非常适合渴望掌握电子邮件设计基础的新手&#xff01; &#xff08;本文视频讲解&#xff1a;java56…

LeetCode 面试经典150题 202.快乐数

题目&#xff1a; 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结…

layui框架实战案例(27):弹出二次验证

HTML容器 <button class"layui-btn layui-btn-sm layui-btn-danger" lay-event"delete"><i class"layui-icon layui-icon-delete"></i>批量删除</button>删除封装函数 function delAll(school_id, school_name) {var lo…