千家信息网

Zookeeper的基础概念是什么

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要讲解了"Zookeeper的基础概念是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Zookeeper的基础概念是什么"吧!Zooke
千家信息网最后更新 2025年02月07日Zookeeper的基础概念是什么

这篇文章主要讲解了"Zookeeper的基础概念是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Zookeeper的基础概念是什么"吧!

Zookeeper是什么?

Zookeeper是一个典型的分布式协调服务,分布式应用程序可以基于它实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。Zookeeper能够保证以下分布式一致性特征:

  • 顺序一致性:从同一个客户端发起的事务请求,必须按照发起顺序被应用到Zookeeper中

  • 原子性:事务在集群中必须全部成功或者全部失败,不存在部分成功部分失败的情况

  • 单一视图:连接集群中的任何一个服务器,得到的数据视图都是一样的

  • 可靠性:服务端一旦成功执行了某个事务,该事物引起的服务状态变更将永久保存,除非又有新的事务更新了其状态

  • 实时性:这里的实时性不是说一旦事务执行成功,客户端就可以获取最新的数据结,而是Zookeeper保证在一段时间后,可以获取最新的数据

Zookeeper的目标

  • 简单的数据模型:Zookeeper以数的结构组织数据,类似于目录结构,每一个目录在Zookeeper中成为ZNode,每一个ZNode可以记录少量数据

  • 可以构建集群:Zookeeper的集群最好以奇数个数搭建(过半选举),集群中的服务两两建立连接相互通信

  • 顺序访问:客户端的更新请求,都会分配一个全局的唯一ID(ZXID)

  • 高性能:Zookeeper将全量数据存储在内存中,因此对于读的操作延时非常非常低

Zookeeper的基本概念

集群角色

Zookeeper集群中主要有三种角色:Leader、Follower、Observer。Leader负责接收客户端的写请求,并将该请求以事务的方式提交给Follower执行。Follower负责接收读请求、参与Leader的选举和过半写成功策略。Observer也负责接收读请求,不需要参与Leader的选举和过半写成功,该角色设计的主要目标是用来在不影响写性能的前提下扩展Zookeeper的读性能。

会话

会话指的是客户端和Zookeeper集群建立的连接,假设与客户端相连的服务器宕机,在没有超过sessionTimeout参数设置的前提下能够重新连接上另一台服务器,则之前的会话有效。

数据节点

这里的数据节点除了机器节点之外,指的还是Zookeeper中的ZNode,ZNode以文件目录的形式进行组织。主要有两种形式:持久节点和临时节点。持久节点一旦创建除非手动移除否则不会删除,临时节点和会话的生命周期有关,会话启动创建的临时节点会在会话断开时自动删除。Zookeeper还可以为节点设置SEQUENTIAL属性,被设置了该属性的节点在创建时会自动在节点名后面加一个数字,该数字是由父节点维护的。

版本

Zookeeper的每个ZNode都可以存储数据,对应于每一个ZNode,Zookeeper会维护一个叫做Stat的数据结构,Stat记录了这个ZNode的三个数据版本,分别是version(当前ZNode的版本)、cversion(当前ZNode子节点的版本)、aversion (当前ZNode的ACL版本)。

Watch

Watch机制是Zookeeper里面非常非常重要的一个机制。客户端可以在一些ZNode上注册一些Watcher,当一些特定的事件发生时,Zookeeper服务端会将该事件推送至感兴趣的客户端。

ACL

Zookeeper采用ACL策略来进行权限控制,主要有以下5种权限:

  • CREATE:创建子节点的权限

  • READ:读取节点数据和子节点列表的权限

  • WRITE:更新节点数据的权限

  • DELETE:删除子节点的权限

  • ADMIN:设置节点ACL的权限

感谢各位的阅读,以上就是"Zookeeper的基础概念是什么"的内容了,经过本文的学习后,相信大家对Zookeeper的基础概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

节点 数据 集群 服务 客户 权限 事务 分布式 客户端 概念 版本 基础 成功 选举 服务器 目录 结构 角色 顺序 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 怎麼样学习数据库 部队网络安全ppt课件素材 图书馆数据库完整制作 餐饮软件开发咨询客服 工矿企业网络安全防护 南京软件开发首选白龙马 视频服务器dvs 我的世界服务器雪球回城命令 网络技术研究院网站 青职学院学网络技术怎么样 乡贤数据库建设经验作法 怎么退出数据库登陆 工行软件开发中心忙不忙 虚拟机 轻量应用服务器 数据库分组查询课后题 tft服务器英文名称 学django之前要学数据库么 与网络安全相关的股票 ER图是数据库设计的基础 文职报名回执下载服务器异常 创造与魔法299服务器赚金攻略 中华人民共和国网络安全法1 笔记本直连服务器怎么登录 网页常用对象数据库 多举措加强网络安全管理 求生之路2服务器连接不到 宜兴定制软件开发诚信合作 源码里面的数据库怎么连接 安居宝数据处理服务器注册码 网络安全教学设计与过程
0