初识ZooKeeper

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 特点、应用场景

一.ZooKeeper概述

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

二.ZooKeeper特点

1、ZooKeeper:一个领导者,多个跟随者组成的集群

2、集群只要有半数节点存活,那么ZooKeeper集群就能正常服务,所以说ZooKeeper适合奇数台服务器。

3、全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4、更新请求顺序执行,来自同一个Client的更新请求按顺序依次执行。

5、数据更新原子性,一次更新要么成功,要么失败。

6、实时性,ZooKeeper的同步时间很快,任何一台服务器保存了数据,其他服务器也会保存相同数据。

三.ZooKeeper数据结构

ZooKeeper的数据结构和Unix文件系统很类似,整体上可以看做一棵,每个节点称作ZNode,每个ZNode默认能够存储1M的数据,每个ZNode都可以通过路径唯一标识

四.ZooKeeper应用场景

ZooKeeper提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

1.统一命名服务

在分布式环境下,通常对服务进行统一命名,便于识别。例如:IP不易记,域名易记。

2.统一配置管理

(1)分布式环境下,配置文件同步非常常见

  • 一般要求一个集群中,所有节点的配置信息是一致的。如Kafka集群。
  • 对配置文件修改后,希望可以快速同步到各个节点上。

(2)配置信息可由ZooKeeper实现

  • 可将配置信息写入ZooKeeper的一个ZNode。
  • 客户端服务器监听这个Znode。
  • 一旦ZNode中的数据发生修改,ZooKeeper会通知客户端服务器。

3.统一集群管理

(1)分布式环境下,需要实时掌握每个节点的状态。

  • 可根据节点实时状态做出一些调整。

(2)ZooKeeper可以实现实时监控节点的状态变化。

  • 可将节点信息写入ZooKeeper中的一个ZNode。
  • 监听这个ZNode可获取实时的状态变化。

4.服务器节点动态上下线

5.软负载均衡

在ZooKeeper中记录每台服务器的访问数量,让访问最少的服务器去处理最新的客户端请求。

目录
相关文章
|
移动开发 前端开发 JavaScript
分享45个Bootstrap模板,总有一款适合您
分享45个Bootstrap模板,总有一款适合您
313 5
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux,无需安装虚拟机版
win10,linux,虚拟机,ubuntu
1801 0
Win10安装Linux,无需安装虚拟机版
|
SQL 关系型数据库 MySQL
数据库介绍与MySQL详细介绍
数据库是信息科技领域中不可或缺的一部分,它们在我们日常生活中扮演着重要的角色,从手机应用到云计算,无处不在。在本篇博客中,我们将深入探讨数据库的基本概念以及MySQL这一流行的开源关系型数据库的详细信息。不需要数据库专业知识,我们将从头开始,向您解释这些复杂的概念。
618 0
|
缓存 安全 生物认证
什么是代理ip?代理ip的工作原理?代理ip有哪些类型?
当您在互联网上浏览或访问网站时,您的IP地址是您的设备在网络上的唯一标识。通过IP地址,网站和其他在线服务可以追踪您的位置、活动和访问历史。但是,使用IP代理可以帮助您代理本地IP地址,从而增加您的在线隐私和安全。
什么是代理ip?代理ip的工作原理?代理ip有哪些类型?
|
SQL 存储 数据挖掘
探索数据库技术的奥秘:核心原理、应用场景与实践技巧
一、引言 数据库技术作为现代信息系统中不可或缺的一部分,扮演着存储、管理和检索数据的重要角色
|
存储 SQL NoSQL
深入理解数据库技术:从基础到前沿应用
一、引言 在信息化和数字化的时代,数据已成为推动社会进步和企业发展的核心资源
|
XML 前端开发 Java
Spring Boot中怎么使用BPMN
在Spring Boot中集成BPMN工作流,如Camunda,能实现业务流程自动化。以请假流程为例,步骤包括:创建Spring Boot项目并添加Camunda依赖;使用Camunda Modeler设计请假流程,涵盖提交申请、经理审批、HR记录及流程完成阶段;保存BPMN文件至`src/main/resources`目录,以便Camunda自动部署;实现流程逻辑,如通过REST API启动流程实例,并传递请假请求数据。整个过程展示了BPMN流程从设计到部署的完整周期,使业务流程自动化变得高效且直接。 **注意:**摘要已压缩至240字符内,部分内容被省略。
927 2
Spring Boot中怎么使用BPMN
|
SQL 监控 关系型数据库
深入解析MySQL死锁:原因、检测与解决方案
深入解析MySQL死锁:原因、检测与解决方案
IDEA的安装与删除插件
IDEA的安装与删除插件
305 1
|
SQL 存储 安全
SQL安全性能:构建坚不可摧的数据防线
随着信息技术的发展,数据成为核心资产,SQL数据库作为关键工具,其安全性至关重要。本文探讨了SQL安全的重要性、常见威胁及对策: - **重要性**: 包括数据保护、业务连续性和合规要求。 - **威胁**: 如SQL注入、未经授权访问、数据泄露和拒绝服务攻击。 - **措施**: 实施访问控制、数据加密、定期更新/备份、审计/监控及漏洞管理。 - **最佳实践**: 定期培训、建立应急响应计划、持续评估改进和安全编程。 通过这些方法,组织能够构建强大的SQL数据防护体系。
546 0