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

一文彻底了解Zookeeper(介绍篇)

zookeeper 是什么?

  • zookeeper是一个分布式协作框架,提供高可用,高性能,强一致等特性

zookeeper 有哪些应用场景?

  • 分布式锁:分布式锁是指在分布式环境中,多个进程或线程需要互斥地访问某个共享资源时,使用的一种锁机制。Zookeeper提供了一种基于节点的锁实现方式,可以在分布式环境中实现互斥访问共享资源的目的。
  • 集群选举:在分布式系统中,往往需要对系统配置进行管理,例如数据库连接信息、缓存配置等。Zookeeper可以作为配置中心,用于存储和管理系统配置信息,并且提供了Watch机制,可以在配置信息发生变化时通知客户端进行更新。
  • 注册中心:在分布式系统中,需要进行服务的注册和发现,以便客户端可以通过注册中心找到需要调用的服务。Zookeeper提供了一种轻量级的服务注册与发现机制,可以实现服务的自动注册和发现。
  • 配置管理:在分布式环境中,往往需要进行各种协调工作,例如选举、分布式任务调度、分布式事务等。Zookeeper提供了基于节点的协调机制,可以实现分布式协调。

zookeeper 底层是什么?

  • zookeeper实际是一个分布式的文件系统,将数据存储在内存中,通过zab协议将数据同步到各个节点中,每个节点均可对文件系统进行读写,并且可以通过watcher机制实现监听和回调

zookeeper 基本概念

  • Znode:zookeeper的最小单元,类似文件夹或文件,可以存储数据或者拥有子节点
  • watcher:一种回调机制,可以监控节点事件并触发回调
  • Session:客户端和服务端连接时会创建一个session
  • ACL:用于控制znode的访问权限,定义了哪些用户可以访问哪些znode及其子节点
  • Leader:集群中的leader,负责协调集群中的所有操作
  • Follower:集群中的follower,接受leader的信息,并保持和leader状态一致
  • Ensemble:Zookeeper集群中的所有节点被称为Ensemble。

zookeeper 使用了哪些协议?

  • TCP/IP协议:保证数据的可靠性
  • Quorum协议:保证数据的一致性,定义了leader选举,信息同步等操作的规则和流程
  • zab协议:实现数据的原子广播
  • watcher协议:实现对znode节点的状态监听
  • ACL协议:znode的权限控制

相关文章:

一文彻底了解Zookeeper(介绍篇)

zookeeper 是什么? zookeeper是一个分布式协作框架,提供高可用,高性能,强一致等特性 zookeeper 有哪些应用场景? 分布式锁:分布式锁是指在分布式环境中,多个进程或线程需要互斥地访问某个共享…...

1. ELK Stack 理论篇之什么是ELK Stack?

ELK Stack 理论篇之什么是ELK Stack?1.1 什么是 ELK Stack?1.2 ELK Stack的发展史1.2.1 Elasticsearch1.2.2 引入 Logstash 和 Kibana,产品更强大1.2.3 社区越来越壮大,用例越来越丰富1.2.4 然后我们向 ELK 中加入了 Beats1.2.5 那么&#x…...

两道有关链表的练习

目录 一、分割链表 二、奇偶链表 一、分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输…...

Python uiautomator2安卓自动化测试

一、前言 uiautomator2是Python对Android设备进行UI自动化的库,支持USB和WIFI链接,可以实现获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。 重点是它可以实现安卓自动化采集,甚至是群控采集,且安装和…...

Leetcode. 160相交链表

文章目录指针解法指针解法 核心思路 : 先 分别求两个链表的长度 然后长的链表先走 差距步(长-短) 最后长链表和短链表同时走 ,第一地址相同的就是交点 ,注意一定是地址相同 不可能出现上图这种情况 ,因为C1…...

MDPs —— 马尔可夫决策定义与算法

文章目录MDPs 定义——由实例开始时序决策问题给游戏增点乐子*为什么要有折扣游戏的解——原则所以,什么是 MDPs?MDPs 的基本原理、表示光环原理效用的求解是反向传播的原则不变条件MDPs 的表示MDPs 求解效用迭代法缺点原则迭代法MDPs 定义——由实例开始…...

【C++】图

本文包含了图的基本概念 1.相关概念 1.1 无/有向 无向图&#xff1a;每一个顶点之间的连线没有方向 有向图&#xff1a;连线有方向&#xff08;类似离散数学的二元关系 <A,B>代表从A到B的边&#xff0c;有方向&#xff09; <A,B>中A为始点&#xff0c;B为终点在…...

尾递归优化

文章目录1. 前言2. 什么尾调用&#xff08;Tail Call&#xff09;&#xff1f;3. 尾调用优化4. Linux内核下的尾递归优化使用5. 参考资料1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;对此给读者带来的损失&#xff0c;作者不错任何承诺。 2. 什么尾调用…...

P1120 小木棍(搜索+剪枝)

题目链接&#xff1a;P1120 小木棍 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 样例输入&#xff1a; 9 5 2 1 5 2 1 5 2 1 样例输出&#xff1a; 6 分析&#xff1a;这道题一看数据范围就知道是搜索&#xff0c;但关键是需要剪枝。 首先我们求出所有木棍的长度和&am…...

【专项训练】动态规划-3

动态规划:状态转移方程、找重复性和最优子结构 分治 + 记忆化搜索,可以过度到动态规划(动态递推) function DP():# DP状态定义# 需要经验,需把现实问题定义为一个数组,一维、二维、三维……dp =[][] # 二维情况for i = 0...M:...

【Linux】信号+再谈进程地址空间

目录 一、Linux中的信号 1、Linux中的信号 2、进程对信号的处理 3、信号的释义 二、信号的捕捉 1、信号的捕捉signal() 2、信号的捕捉sigaction() 三、信号如何产生&#xff1f; 1、kill()用户调用kill向操作系统发送信号 通过命令行参数模仿写一个kill命令 2、rais…...

C++回顾(二十一)—— list容器

21.1 list概述 list是一个双向链表容器&#xff0c;可高效地进行插入删除元素。list不可以随机存取元素&#xff0c;所以不支持at.(pos)函数与[]操作符。It(ok) it5(err)需要添加头文件&#xff1a;#include <list> 21.2 list构造 &#xff08;1&#xff09;默认构造…...

爱国者一体机电脑蓝屏怎么U盘重装系统教学?

爱国者一体机电脑蓝屏怎么U盘重装系统教学&#xff1f;有用户使用的爱国者一体机电脑开机了之后突然变成了蓝屏的了。而且无法继续使用了&#xff0c;那么遇到这样的蓝屏问题怎么去进行系统的重装呢&#xff1f;一起来看看以下的U盘重装系统教学吧。 准备工作&#xff1a; 1、U…...

Vue学习笔记(9)

9.1 axios 9.1.1 概述 Axios是一个流行的基于Promise的HTTP客户端&#xff0c;用于在浏览器和Node中发送HTTP请求。它可以用于处理各种请求类型&#xff0c;例如GET&#xff0c;POST等。Axios可以很容易地与现代前端框架和库集成&#xff0c;例如React&#xff0c;Vue等。 A…...

中值滤波+Matlab仿真+频域响应分析

中值滤波 文章目录中值滤波理解中值滤波的过程Matlab 实现实际应用频域分析中值滤波是一种滤波算法&#xff0c;其目的是去除信号中的噪声&#xff0c;而不会对信号本身造成太大的影响。它的原理非常简单&#xff1a;对于一个给定的窗口大小&#xff0c;将窗口内的数值排序&…...

自然语言处理中数据增强(Data Augmentation)技术最全盘点

与“计算机视觉”中使用图像数据增强的标准做法不同&#xff0c;在NLP中&#xff0c;文本数据的增强非常少见。这是因为对图像的琐碎操作&#xff08;例如将图像旋转几度或将其转换为灰度&#xff09;不会改变其语义。语义上不变的转换的存在是使增强成为Computer Vision研究中…...

PINN解偏微分方程实例1

PINN解偏微分方程实例11. PINN简介2. 偏微分方程实例3. 基于pytorch实现代码4. 数值解参考资料1. PINN简介 PINN是一种利用神经网络求解偏微分方程的方法&#xff0c;其计算流程图如下图所示&#xff0c;这里以偏微分方程(1)为例。 ∂u∂tu∂u∂xv∂2u∂x2\begin{align} \frac{…...

【python 基础篇 十二】python的函数-------函数生成器

目录1.生成器基本概念2.生成器的创建方式3.生成器的输出方式4.send()方法5.关闭生成器6.注意事项1.生成器基本概念 是一个特色的迭代器&#xff08;迭代器的抽象层级更高&#xff09;所以拥有迭代器的特性 惰性计算数据 节省内存 ----就是不是立马生成所有数据&#xff0c;而是…...

elasticsearch全解 (待续)

目录elasticsearchELK技术栈Lucene与Elasticsearch关系为什么不是其他搜索技术&#xff1f;Elasticsearch核心概念Cluster&#xff1a;集群Node&#xff1a;节点Shard&#xff1a;分片Replia&#xff1a;副本全文检索倒排索引正向和倒排es的一些概念文档和字段索引和映射mysql与…...

springboot2集成knife4j

springboot2集成knife4j springboot2集成knife4j 环境说明集成knife4j 第一步&#xff1a;引入依赖第二步&#xff1a;编写配置类第三步&#xff1a;测试一下 第一小步&#xff1a;编写controller第二小步&#xff1a;启动项目&#xff0c;访问api文档 相关资料 环境说明 …...

DevSquad:一体化开发者工具箱,提升本地开发与调试效率

1. 项目概述&#xff1a;DevSquad&#xff0c;一个面向开发者的“瑞士军刀”式工具箱在软件开发这个行当里摸爬滚打十几年&#xff0c;我越来越觉得&#xff0c;一个开发者的效率&#xff0c;很大程度上取决于他手头的“家伙事儿”是否趁手。我们每天都要面对各种琐碎但必要的工…...

Cursor AI编辑器离线资源库:解决网络依赖,实现内网与定制化开发

1. 项目概述&#xff1a;一个AI代码编辑器的离线资源库最近在折腾Cursor这个AI代码编辑器&#xff0c;发现它确实能极大提升开发效率。但有个问题一直困扰着不少开发者&#xff1a;它的AI功能高度依赖网络&#xff0c;一旦网络环境不佳&#xff0c;或者你想在特定场景下&#x…...

无实景不建模 孪生自生成:无改造无感追踪技术路径,重构数字孪生与视频孪生交付逻辑

数字孪生长期深陷建模依赖的行业困局&#xff0c;传统技术路径均以人工建模、激光点云扫描、第三方测绘为前置核心环节&#xff0c;不仅带来高昂的资金投入、漫长的实施周期&#xff0c;更存在模型更新滞后、实景适配性差、运维成本高企等难以破解的行业顽疾。同时&#xff0c;…...

手把手教你用赫优讯NT151网关,搞定FANUC机器人与西门子S7-1500 PLC的跨协议通讯

工业自动化实战&#xff1a;NT151网关实现FANUC机器人与西门子S7-1500 PLC无缝通讯 在智能制造产线中&#xff0c;FANUC机器人与西门子PLC的协同作业已成为标配。但两者分别采用EtherNet/IP和PROFINET协议&#xff0c;如同说着不同语言的专家难以直接对话。赫优讯NT151网关正是…...

别再复制粘贴了!手把手教你从零搭建STM32F429 MDK5工程模板(附完整源码包)

从零构建STM32F429工程模板&#xff1a;避开新手90%的踩坑点 第一次拿到STM32F429开发板时&#xff0c;我盯着满屏的英文文档和零散的教程发愣——网上能找到的要么是过时的Keil4配置指南&#xff0c;要么直接丢给你一个现成工程文件。这种"复制粘贴式"的学习让我在后…...

AI工具搭建自动化视频生成GDPR

好的&#xff0c;我们直接切入正题。 1. 他到底是什么 很多人一听到“GDPR”&#xff0c;第一反应是欧洲那个让人头疼的数据隐私法规。别搞混了&#xff0c;这里说的“GDPR”是一个Python库的名字&#xff0c;全称是“General Data Protection Regulation … 哦不&#xff0c;开…...

保姆级教程:在Win10上从零配置OpenSSH服务器,并用Termius实现iPad远程连接(含防火墙和用户权限避坑指南)

从零构建Win10 SSH服务&#xff1a;用Termius实现iPad远程开发的完整指南 当你躺在沙发上用iPad突然想修改一段代码&#xff0c;或是出差时急需访问家中电脑的文件&#xff0c;Win10自带的OpenSSH服务配合Termius这款优雅的SSH客户端&#xff0c;能让你摆脱物理距离的限制。但官…...

三步永久保存微信聊天记录的完整指南:告别数据丢失的烦恼

三步永久保存微信聊天记录的完整指南&#xff1a;告别数据丢失的烦恼 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

5个技巧完全掌握Video Subtitle Remover:AI硬字幕去除终极指南

5个技巧完全掌握Video Subtitle Remover&#xff1a;AI硬字幕去除终极指南 【免费下载链接】video-subtitle-remover 基于AI的图片/视频硬字幕去除、文本水印去除&#xff0c;无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API&#xff0c;本地实现。AI-based…...

Unity UGUI点击事件避坑指南:为什么你的Image点了没反应?

Unity UGUI点击事件避坑指南&#xff1a;为什么你的Image点了没反应&#xff1f; 当你信心满满地在Unity中为Image组件添加了IPointerClickHandler接口&#xff0c;点击运行时却发现无论如何点击屏幕都没有反应——这种挫败感每个Unity开发者都经历过。本文将深入剖析UGUI事件系…...