zookeeper高阶二

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: zookeeper高阶二

Zookeeper典型应用

1. 数据发布/订阅

2.   提供集群选举

3.  分布式锁

 Zookeeper典型应用

1.数据发布/订阅

数据发布/订阅系统即所谓的配置中心,也就是发布者将数据发布到ZooKeeper的一个节点上,提供订阅者进行数据订阅,从而实现动态更新数据的目的,实现配置信息的集中式管理和数据的动态更新。

ZooKeeper采用的是推拉相结合的方式:客户端向服务器注册自己需要关注的节点,一旦该节点的数据发生改变,那么服务端就会向相应的客户端发送Watcher事件通知,客户端接收到消息通知后,需要主动到服务端获取最新的数据。

主要用到了:监听机制。image.gif编辑

2.   提供集群选举

在分布式环境下,不管是主从架构集群,还是主备架构集群,要求在服务的时候有且有一个正常的对外提供服务,我们称之为master。

当master出现故障之后,需要重新选举出的新的master。保证服务的连续可用性。zookeeper可以提供这样的功能服务。

主要用到了:znode唯一性、临时节点短暂性、监听机制。image.gif编辑

3.  分布式锁

ZooKeeper通过数据节点表示一个锁,例如/itcast/lock节点就可以定义一个锁,所有客户端都会调用create()接口,试图在/itcast下创建lock子节点,但是ZooKeeper的强一致性会保证所有客户端最终只有一个客户创建成功。也就可以认为获得了锁,其它线程Watcher监听子节点变化(等待释放锁,竞争获取资源)。

此外也可以通过znode的序列化特性,给创建znode的客户端自动编号,从而实现所谓的顺序锁的功能。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
6月前
|
存储 算法 Dubbo
ZooKeeper 概念
ZooKeeper 概念
41 0
|
存储 消息中间件 负载均衡
Zookeeper系列(一)——Zookeeper基础之数据模型
Zookeeper系列(一)——Zookeeper基础之数据模型
197 0
Zookeeper系列(一)——Zookeeper基础之数据模型
|
Shell
zookeeper高阶一
zookeeper高阶一
81 0
zookeeper高阶一
|
设计模式 资源调度 监控
Zookeeper概念介绍
ZooKeeper是一个分布式的,开放源码的,用于分布式应用程序的协调服务。zookeeper服务端有两种模式:单机的独立模式和集群的仲裁模式,所谓仲裁是指一切事件只要满足多数派同意就执行,不需要等到集群中的每个节点反馈才执行。Zookeeper本身也是服从主从架构的,在仲裁模式下会有一个主要的节点作为Leader(领导者),而其余集群中的节点作为Follower(公民),对某一事件是否执行,leader都会先征询各个follower的反馈信息再做决定,如果多数派同意,leader就将命令下发到所有的follower去执行。
166 0
Zookeeper概念介绍
|
存储 算法 Java
一文带你了解Zookeeper所有核心概念
一文带你了解Zookeeper所有核心概念
127 0
一文带你了解Zookeeper所有核心概念
|
消息中间件 存储 设计模式
Zookeeper从入门到放弃之Zookeeper典型应用场景
Zookeeper从入门到放弃之Zookeeper典型应用场景
199 0
Zookeeper从入门到放弃之Zookeeper典型应用场景
|
存储 Linux 开发者
Zookeeper基本原理与运用场景
Zookeeper基本原理与运用场景一、什么是Zookeeper? zookeeper是一个分布式的一致性协调服务。 换句话说,也可以把zookeeper看成一个小型的分布式文件系统。但是和FastDFS不同,zookeeper只适合用来存储一些小型的数据或者配置信息。
1114 0
|
Java 关系型数据库 应用服务中间件
5分钟让你了解 ZooKeeper 的功能和原理
5分钟让你了解 ZooKeeper 的功能和原理 一 .Zookeeper功能简介 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列 等功能。
1788 0