zookeeper高阶二

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
9月前
|
存储 算法 Dubbo
ZooKeeper 概念
ZooKeeper 概念
54 0
|
存储 消息中间件 负载均衡
Zookeeper系列(一)——Zookeeper基础之数据模型
Zookeeper系列(一)——Zookeeper基础之数据模型
238 0
Zookeeper系列(一)——Zookeeper基础之数据模型
|
Shell
zookeeper高阶一
zookeeper高阶一
92 0
zookeeper高阶一
|
存储 分布式计算 关系型数据库
【ZooKeeper】① 分布式的基本概念
一个 SpringBoot 项目(apple.jar)被部署到了服务器上运行。可向其发送网络请求获取网络资源。随着请求数量的逐渐增多,服务器宕机(死机)的可能性也越来越高。 若一个服务器宕机会导致该服务器上的某个系统直接无法被访问,则不是高可用的项目,便产生了单点故障。单点故障:服务器与项目共生。服务器生,项目活;服务器挂,项目死。
229 0
【ZooKeeper】① 分布式的基本概念
|
设计模式 资源调度 监控
Zookeeper概念介绍
ZooKeeper是一个分布式的,开放源码的,用于分布式应用程序的协调服务。zookeeper服务端有两种模式:单机的独立模式和集群的仲裁模式,所谓仲裁是指一切事件只要满足多数派同意就执行,不需要等到集群中的每个节点反馈才执行。Zookeeper本身也是服从主从架构的,在仲裁模式下会有一个主要的节点作为Leader(领导者),而其余集群中的节点作为Follower(公民),对某一事件是否执行,leader都会先征询各个follower的反馈信息再做决定,如果多数派同意,leader就将命令下发到所有的follower去执行。
186 0
Zookeeper概念介绍
|
存储 算法 Java
一文带你了解Zookeeper所有核心概念
一文带你了解Zookeeper所有核心概念
139 0
一文带你了解Zookeeper所有核心概念
|
存储 负载均衡 监控
ZooKeeper简要总结
ZooKeeper是用于维护配置信息,命名,提供分布式同步以及提供组服务的集中式服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时,都会进行很多工作来修复不可避免的错误和竞争条件。由于难以实现这类服务,因此应用程序最初通常会跳过它们,这会使它们在发生更改时变得脆弱并且难以管理。即使部署正确,这些服务的不同实现也会导致管理复杂。
ZooKeeper简要总结
|
消息中间件 存储 负载均衡
zookeeper的原理及使用
zookeeper的原理及使用
316 0
|
存储 消息中间件 负载均衡
ZooKeeper核心知识总结!
Apache ZooKeeper 是由Apache Hadoop的子项目发展而来,为分布式应用提供高效且可靠的分布式协调服务。在解决分布式数据一致性方面,ZK没有直接采用Paxos算法,而是采用了ZAB(ZooKeeper Atomic Broadcast)协议。ZK可以提供诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知,集群管理,Master选举,分布式锁,分布式队列等功能。「它具有以下特性:」「顺序一致性」:从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到 Zookeeper 中;「原子性」:要么所有应用,要么不应用;不存在部分机器应用了该事务,而「另一部分没有应用