一文彻底了解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 无/有向 无向图:每一个顶点之间的连线没有方向 有向图:连线有方向(类似离散数学的二元关系 <A,B>代表从A到B的边,有方向) <A,B>中A为始点,B为终点在…...
尾递归优化
文章目录1. 前言2. 什么尾调用(Tail Call)?3. 尾调用优化4. Linux内核下的尾递归优化使用5. 参考资料1. 前言 限于作者能力水平,本文可能存在谬误,对此给读者带来的损失,作者不错任何承诺。 2. 什么尾调用…...
P1120 小木棍(搜索+剪枝)
题目链接:P1120 小木棍 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 样例输入: 9 5 2 1 5 2 1 5 2 1 样例输出: 6 分析:这道题一看数据范围就知道是搜索,但关键是需要剪枝。 首先我们求出所有木棍的长度和&am…...
【专项训练】动态规划-3
动态规划:状态转移方程、找重复性和最优子结构 分治 + 记忆化搜索,可以过度到动态规划(动态递推) function DP():# DP状态定义# 需要经验,需把现实问题定义为一个数组,一维、二维、三维……dp =[][] # 二维情况for i = 0...M:...
【Linux】信号+再谈进程地址空间
目录 一、Linux中的信号 1、Linux中的信号 2、进程对信号的处理 3、信号的释义 二、信号的捕捉 1、信号的捕捉signal() 2、信号的捕捉sigaction() 三、信号如何产生? 1、kill()用户调用kill向操作系统发送信号 通过命令行参数模仿写一个kill命令 2、rais…...
C++回顾(二十一)—— list容器
21.1 list概述 list是一个双向链表容器,可高效地进行插入删除元素。list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It(ok) it5(err)需要添加头文件:#include <list> 21.2 list构造 (1)默认构造…...
爱国者一体机电脑蓝屏怎么U盘重装系统教学?
爱国者一体机电脑蓝屏怎么U盘重装系统教学?有用户使用的爱国者一体机电脑开机了之后突然变成了蓝屏的了。而且无法继续使用了,那么遇到这样的蓝屏问题怎么去进行系统的重装呢?一起来看看以下的U盘重装系统教学吧。 准备工作: 1、U…...
Vue学习笔记(9)
9.1 axios 9.1.1 概述 Axios是一个流行的基于Promise的HTTP客户端,用于在浏览器和Node中发送HTTP请求。它可以用于处理各种请求类型,例如GET,POST等。Axios可以很容易地与现代前端框架和库集成,例如React,Vue等。 A…...
中值滤波+Matlab仿真+频域响应分析
中值滤波 文章目录中值滤波理解中值滤波的过程Matlab 实现实际应用频域分析中值滤波是一种滤波算法,其目的是去除信号中的噪声,而不会对信号本身造成太大的影响。它的原理非常简单:对于一个给定的窗口大小,将窗口内的数值排序&…...
自然语言处理中数据增强(Data Augmentation)技术最全盘点
与“计算机视觉”中使用图像数据增强的标准做法不同,在NLP中,文本数据的增强非常少见。这是因为对图像的琐碎操作(例如将图像旋转几度或将其转换为灰度)不会改变其语义。语义上不变的转换的存在是使增强成为Computer Vision研究中…...
PINN解偏微分方程实例1
PINN解偏微分方程实例11. PINN简介2. 偏微分方程实例3. 基于pytorch实现代码4. 数值解参考资料1. PINN简介 PINN是一种利用神经网络求解偏微分方程的方法,其计算流程图如下图所示,这里以偏微分方程(1)为例。 ∂u∂tu∂u∂xv∂2u∂x2\begin{align} \frac{…...
【python 基础篇 十二】python的函数-------函数生成器
目录1.生成器基本概念2.生成器的创建方式3.生成器的输出方式4.send()方法5.关闭生成器6.注意事项1.生成器基本概念 是一个特色的迭代器(迭代器的抽象层级更高)所以拥有迭代器的特性 惰性计算数据 节省内存 ----就是不是立马生成所有数据,而是…...
elasticsearch全解 (待续)
目录elasticsearchELK技术栈Lucene与Elasticsearch关系为什么不是其他搜索技术?Elasticsearch核心概念Cluster:集群Node:节点Shard:分片Replia:副本全文检索倒排索引正向和倒排es的一些概念文档和字段索引和映射mysql与…...
springboot2集成knife4j
springboot2集成knife4j springboot2集成knife4j 环境说明集成knife4j 第一步:引入依赖第二步:编写配置类第三步:测试一下 第一小步:编写controller第二小步:启动项目,访问api文档 相关资料 环境说明 …...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
STL 2迭代器
文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器? 1.迭代器…...
