Zookeeper框架

news/2024/4/26 22:01:59/文章来源:https://blog.csdn.net/qq_42198232/article/details/129150077

Zookeeper框架概述

1.Zookeeper介绍

  1. Zookeeper(以下简称ZK)是用来管理和协调其他框架的,很多框架需要依赖ZK(例如Hadoop-HA,Kafka,HBase等)
  2. ZK本身也是一个集群
  3. ZK本身也可以存数据(一般保存配置数据),可以理解为一个数据库
  4. ZK单独使用没有任何意义,ZK是用来管理别的框架
  5. ZK顶层是Java语言
  6. ZK集群允许部分主机宕机,ZK集群中最坏情况下,只要有大于一半的主机在工作,集群就能维持运转(过半机制)

2.Zookeeper的特点

  1. 全局一致性:在ZK的任何一台主机上对节点进行操作,其他主机都要跟着操作,保持完全同步
  2. 顺序性:在某一台主机上先后创建了A、B两个节点,则其他主机也必须遵循节点创建的先后顺序
  3. 原子性:对ZK的节点增加是一个原子操作(所有的主机都必须添加添加该节点,这个过程是不可再分的,只有所以的操作都完成,才算成功,否则就算失败)
  4. 实时性:对ZK的操作几乎是实时的,不会有太大的延迟

3.Zookeeper集群角色

Zookeeper集群角色

  • 描述
Zookeeper是一个主从架构,有主节点,也有从节点
  • 角色

    • Leader

      集群的管理者,管理整个集群
      既能完成非事务(查询,读取)操作,也能完成事务(增删改)操作
      
    • Follower

      只能完成非事务操作(查询,读取),如果收到客户端的事务请求,则会转发给Leader
      当Leader挂掉的时候,Follower投票选举新的Leader
      
    • Observer

      只能完成非事务操作(查询,读取),如果收到客户端的事务请求,则会转发给Leader
      当Leader挂掉的时候,Observer不能投票选举新的Leader(能干活,但是被剥夺政治权利)
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72328.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

koa中间件的实现原理

koa中间件的实现原理如何?先来看一个例子。koa的执行顺序是这样的:const middleware asyncfunction (ctx, next) {console.log(1)await next()console.log(6) }const middleware2 asyncfunction (ctx, next) {console.log(2)await next()console.log(5…

LeetCode 535. TinyURL 的加密与解密

TinyURL 是一种 URL 简化服务, 比如:当你输入一个 URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk 。请你设计一个类来加密与解密 TinyURL 。 加密和解密算法如何设计和运作是没有限…

产品新说 | 指标异常?怎么做能更好配合业务变化(一)

​ 背景: 企业业务运营的平稳,常常要依靠智能运维在后方保驾护航。熟悉运维的肯定都知道,在智能运维中有一环是通过监控指标来判断系统、云、业务应用、网络设备等运行的是否健康,以便及时排障维稳后台。在指标异常检测中&#xf…

读书笔记//来自公众号(2)

非常喜欢阅读同行的文章,彷佛进行一场隔空交流。大家都是数据分析师,有许多共鸣;了解数据分析在不同行业的应用,往往很有收获。 这位朋友在零售行业、工业物联网、汽车互联网、2G电商等做个数据分析,有10多工作经验。…

opencv在windows下环境搭建遇到问题

文章目录debug模式下执行到cv::imshow()报内存异常qt配置opencv环境出现的问题debug模式下执行到cv::imshow()报内存异常 原因是:在添加静态库的时候opencv_world460.lib和opencv_world460d.lib都导入了。 在debug模式下只能导入opencv_world460d.lib动态库&#xf…

OpenGL 渲染管线与显卡可执行程序

渲染管线的六个步骤 OpenGL 渲染管线的六个步骤,从指定几何图元到帧缓冲区写入像素,图像就被 OpenGL 引擎一步步地渲染到屏幕(FBO)上去了。 指定几何对象 OpenGL 引擎会根据开发者的指令去绘制几何图元。OpenGL(ES&…

IMX6ULL学习笔记(17)——工程管理

一、简介 之前我们把所有源码文件放在一个文件夹下。 这样做存在两个主要问题,第一,代码存放混乱不易阅读。第二,程序可移植性差。如果工程源文件达到几十、甚至数百个的时候,这样一股脑全部放到根目录下就会使工程显得混乱不堪。…

[JavaEE系列] 详解面试中HTTP协议HTTPS协议

文章目录HTTP不安全HTTPS中的加密算法对称加密非对称加密混合加密HTTPS中的摘要算法HTTPS中的数字证书SSL /TLS握手TCP建立连接(三次握手)三次握手中常见的面试题:TCP断开连接(四次挥手)四次挥手中常见的面试题&#x…

前端页面开发模块组织结构

模块组织 任何超过 1000 行的 CSS 代码,你都曾经历过这样的体验: 这个 class 到底是什么意思呢?这个 class 在哪里被使用呢?如果我创建一个 xxoo class,会造成冲突吗?Reasonable System for CSS Stylesheet Structure 的目标就是解决以上问题,它不是一个框架,而是通过…

2.5|1.3 操作系统与嵌入式操作系统概述

CPU是计算机系统的心脏,操作系统是计算机系统的大脑。半个世纪以来操作系统这门软件科学吸引了世界上一大群最热情、最有智慧的杰出人材,集中了人类现代创造性思维活动的精髓。操作系统是软件世界的万花筒、世博会,是软件王国中的一顶璀璨的皇…

十二、Django表单

表单 在之前的案例中,每次我们需要提交表单数据的时候。我们都需要去手动编辑html表单,根据不同的字段,字段名,进行编码。做了很多重复的部分,所以django提供了一个专门用来处理表单的类,django.forms.For…

代码随想录算法训练营第六天 |哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集 、202. 快乐数、 1. 两数之和

打卡第六天,补昨天的卡 今日任务 哈希表理论基础242.有效的字母异位词349.两个数组的交集202.快乐数1.两数之和 哈希表理论基础 哈希表是根据关键码的值而直接进行访问的数据结构。 哈希表能解决什么问题呢? 一般哈希表都是用来快速判断一个元素是否出现集合里。 …

Tr0ll1靶机训练

信息收集 主机探测 端口扫描 21,22,80端口开放通过浏览器访问并进行指纹识别,并没没有发现什么有用信息 测试 观察发现21端口开放(ftp)尝试进行匿名登录发现其中存在一个流量文件将其下载 并将文件用wirwshark打开,追踪其TCP流(…

BEV感知:DETR3D

3D检测:DETR3D前言MethodImage Feature Extracting2D-to-3D Feature TransformationLoss实验结果前言 在这篇paper,作者提出了一个更优雅的2D与3D之间转换的算法在自动驾驶领域,它不依赖于深度信息的预测,这个框架被称之为DETR3D…

【C进阶】数据的存储

文章目录:star:1. 数据类型:star:2. 整形在内存中的存储2.1 存储规则2.2 存储模式2.3 验证大小端模式:star:3. 数据范围3.1 整形溢出3.2 数据范围的求解3.3 练习:star:4. 浮点型在内存中的存储4.1 浮点数的存储规则4.2 练习5. :star::star:总结(思维导图)⭐️1. 数据类型 在了…

Android - 代码生成远程依赖库(阿里云)

一、注册 没有注册过阿里云且没有实名认证的点这里:阿里云官网 二、查看库 阿里云制品仓库Packages (注:如果没有创建企业或个人使用,按照提示,选个人使用) 三、选择类型 选择其中一个(两…

传统巨头生“变”,中国毫米波雷达市场战火再升级

进入2023年,中国车载毫米波雷达市场战火明显升级。 一方面,愈演愈烈的份额抢夺战不仅仅存在于几大传统巨头之间,也快速转移到与国产供应商之间;随着部分外资巨头的本土化战略深入落地,同时对国产供应商造成了压力。 …

ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境

ur3robotiq ft sensorrobotiq 2f 140配置gazebo仿真环境 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 通过上一篇博客配置好ur3、力传感器和robotiq夹爪的rviz仿真环境后,现在来配置一下对…

MySQL数据库————MVCC

MySQL的脏读、幻读、不可重复读 脏读 现在有两个事务在操作table表,事务B修改了id2的name字段为李老四,但是没有提交,事务A查询id2的数据,得到name为李老四;事务B发生回滚,id2的数据的name又变回李四&…

性能测试知多少?怎样开展性能测试

看到好多新手,在性能需求模糊的情况下,随便找一个性能测试工具,然后就开始进行性能测试了,在这种情况下得到的性能测试结果很难体现系统真实的能力,或者可能与系统真实的性能相距甚远。 与功能测试相比,性能…