大致来说,zk 的使用场景如下,我就举几个简单的,大家能说几个就好了:
一、分布式协调
这个其实是 zk 很经典的一个用法,简单来说,就好比,你 A 系统发送个请求到 mq,然后 B 系统消息消费之后处理了。那 A 系统如何知道 B 系统的处理结果?用 zk 就可以实现分布式系统之间的协调工作。A 系统发送请求之后可以在 zk 上对某个节点的值注册个监听器,一旦 B 系统处理完了就修改 zk 那个节点的值,A 立马就可以收到通知,完美解决。
zookeeper-distributed-coordination
二、分布式锁
举个例子。对某一个数据连续发出两个修改操作,两台机器同时收到了请求,但是只能一台机器先执行完另外一个机器再执行。那么此时就可以使用 zk 分布式锁,一个机器接收到了请求之后先获取 zk 上的一把分布式锁,就是可以去创建一个 znode,接着执行操作;然后另外一个机器也尝试去创建那个 znode,结果发现自己创建不了,因为被别人创建了,那只能等着,等第一个机器执行完了自己再执行。
zookeeper-distributed-lock-demo
三、配置信息管理
zk 可以用作很多系统的配置信息的管理,比如 kafka、storm 等等很多分布式系统都会选用 zk 来做一些元数据、配置信息的管理,包括 dubbo 注册中心不也支持 zk 么?
zookeeper-meta-data-manage
四、HA高可用性
这个应该是很常见的,比如 hadoop、hdfs、yarn 等很多大数据系统,都选择基于 zk 来开发 HA 高可用机制,就是一个重要进程一般会做主备两个,主进程挂了立马通过 zk 感知到切换到备用进程。
zookeeper-active-standby
统一命名服务、统一配置管理、统一集群管理、监听服务器动态上线、软负载均衡
分享到:
相关推荐
### Zookeeper使用场景及详解 #### 一、概述 Zookeeper是一个分布式的、开放源码的数据管理和协调服务框架。它最初是由雅虎研究院开发并开源的,后来成为了Apache的一个顶级项目。Zookeeper的设计目的是为了简化...
### ZooKeeper典型使用场景详解 #### 一、概述 ZooKeeper是一款开源的分布式协调服务框架,主要用于解决分布式系统中的数据一致性问题。它基于Paxos算法实现,确保了即使在网络分区的情况下,也能保证分布式环境下...
在本课程“第三课:Zookeeper典型使用场景实践1”中,主要讨论了Zookeeper在分布式系统中的四个关键应用场景:分布式集群管理、分布式注册中心、分布式JOB和分布式锁。下面是针对这些场景的详细说明: 1. **分布式...
zookeeper应用场景
1、master选举:mastersel 2、数据的发布和订阅:subscribe 3、负载均衡:balance 4、分布式锁:lock 5、分布式队列:queue 6、命名服务:nameservice 资料来自极客学院
本文将围绕Zookeeper的常见使用场景进行详细阐述。 一、分布式协调场景 在分布式系统中,Zookeeper作为一个可靠的分布式协调服务,能够帮助各个节点进行状态同步和通信。如图01_zookeeper的分布式协调场景所示,...
通过"第三课:zookeeper 典型使用场景实践.docx"、"第三课:zookeeper 典型使用场景实践.md"、"第三课:zookeeper_典型使用场景实践(预习).pdf"这三份文件,你将能够深入理解Zookeeper在实际项目中的应用方式,...
Apache ZooKeeper 使用方法实例详解 ... ZooKeeper 的使用方法实例详解可以帮助开发人员更好地理解 ZooKeeper 的基本原理和应用场景,并且能够更好地应用 ZooKeeper 来实现分布式系统的各项功能。
在高性能、高并发的应用场景下,不建议使用ZooKeeper的分布式锁。 服务注册中心 ZooKeeper可以实现服务注册中心,基于ZooKeeper的服务注册中心可以提供高可用性、强一致性和实时性等特性。ZooKeeper的优点包括高...
08.zookeeper应用场景举例--服务器上下线动态感知--配置文件同步管理.mp4
尽管ZooKeeper最初并非为特定应用场景设计,但开发者们逐渐发掘出了一系列典型用途,利用其提供的API接口(原语集)来满足需求。 1. 数据发布与订阅(配置中心) ZooKeeper可以作为一个配置中心,允许发布者将数据...
在IT行业中,ZooKeeper是一个广泛使用的分布式协调服务,它由Apache软件基金会开发并维护。ZooKeeper的设计目标是提供高可用性、高性能的分布式一致性服务,常用于管理分布式应用中的配置信息、命名服务、分布式同步...
本篇文章将深入探讨 ZooKeeper 客户端的使用,这是继上一篇文章后的第二部分,我们将继续学习如何与 ZooKeeper 交互以及利用其功能。 ZooKeeper 的客户端是连接到 ZooKeeper 服务器的接口,它提供了丰富的 API 供...
- **集群中的机器和服务地址**:使用ZooKeeper提供的API创建节点路径,作为服务或机器的名称,便于客户端根据名称获取相关信息。 - **关键点**: - 通过全局唯一的节点路径来标识服务或机器。 - 支持服务实例的...
ZooKeeper被广泛应用于解决多种分布式问题,以下是一些典型的ZooKeeper应用场景: 1. 数据发布与订阅(配置中心): ZooKeeper作为一个配置中心,允许发布者将数据发布到特定节点,订阅者则可以通过注册Watcher...
第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运行,并结合真实的分布式应用场景,总结了ZooKeeper使用的最佳实践;第四部分(第7章)对ZooKeeper的架构设计和...
### ZooKeeper 典型的应用场景详解 #### 一、引言 ZooKeeper是一个高度可用的协调服务,用于分布式应用程序中的管理和同步。它基于观察者模式设计,通过存储和管理共享数据来支持集群间的协作。当这些数据发生改变...
ZooKeeper经典应用场景实战(一) 本节课重点介绍了 ZooKeeper 的经典应用场景,并通过 Java 客户端 API 连接和操作 ZooKeeper 集群。 ZooKeeper 官方提供的 Java 客户端 API 虽然提供了基本的操作,但是存在一些...