zk的作用 及应用场景
1. 树形存储 . 分布式环境下协同工作,记录日志。
2. 配置管理 。
多client 环境下,依赖同样的配置。 各client通过watcher的方式 来监控zk中的配置变化来做处理。
3. 集群管理
Zookeeper 能够很容易的实现集群管理的功能,如有多台 Server 组成一个服务集群,那么必须要一个“总管”知道当前集群中每台机器的服务状态,一旦有机器不能提供服务,集群中其它集群必须知道,从而做出调整重新分配服务策略。同样当增加集群的服务能力时,就会增加一台或多台 Server,同样也必须让“总管”知道。
Zookeeper 不仅能够帮你维护当前的集群中机器的服务状态,而且能够帮你选出一个“总管”,让这个总管来管理集群,这就是 Zookeeper 的另一个功能 Leader Election。
它们的实现方式都是在 Zookeeper 上创建一个 EPHEMERAL 类型的目录节点,然后每个 Server 在它们创建目录节点的父目录节点上调用 getChildren(String path, boolean watch) 方法并设置 watch 为 true,由于是 EPHEMERAL 目录节点,当创建它的 Server 死去,这个目录节点也随之被删除,所以 Children 将会变化,这时 getChildren上的 Watch 将会被调用,所以其它 Server 就知道已经有某台 Server 死去了。新增 Server 也是同样的原理。
Zookeeper 如何实现 Leader Election,也就是选出一个 Master Server。和前面的一样每台 Server 创建一个 EPHEMERAL 目录节点,不同的是它还是一个 SEQUENTIAL 目录节点,所以它是个 EPHEMERAL_SEQUENTIAL 目录节点。之所以它是 EPHEMERAL_SEQUENTIAL 目录节点,是因为我们可以给每台 Server 编号,我们可以选择当前是最小编号的 Server 为 Master,假如这个最小编号的 Server 死去,由于是 EPHEMERAL 节点,死去的 Server 对应的节点也被删除,所以当前的节点列表中又出现一个最小编号的节点,我们就选择这个节点为当前 Master。这样就实现了动态选择 Master,避免了传统意义上单 Master 容易出现单点故障的问题。
分布式调度框架tbSchedule就是利用zk来做集群管理,任务分配,协调的。
4. 共享锁
5.同步队列
分享到:
相关推荐
zookeeper应用场景
网上对zk的使用场景也有不少介绍,本文将结合作者身边的项目例子,系统的对zk 的使用场景进行归类介绍。 值得注意的是,zk并不 是生来就为这些场景设计,都是后来众多开发者根据框架的特性,摸索出来的典型使用方法...
Zookeeper使用场景及详解,优劣之分
ZooKeeper应用场景
08.zookeeper应用场景举例--服务器上下线动态感知--配置文件同步管理.mp4
1、master选举:mastersel 2、数据的发布和订阅:subscribe 3、负载均衡:balance 4、分布式锁:lock 5、分布式队列:queue 6、命名服务:nameservice 资料来自极客学院
配置维护大型分布式场景中,对相同配置的集群服务器集中进行配置管理,各服务器在zookeeper中注册watcher监听,发布者更新配置后,zookeeper向订
课程概要:分布式集群管理分布式注册中心分布式JOB分布式锁一、 分布式集群管理分布式集群管理的需求:主动查看线上服务节点查看服务节点资源使用情况服务离线通知服务
ZooKeeper 典型的应用场景详解
zookeeper经典应用场景
值得注意的是,ZK 并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列 API 接口(戒者称为原语集),摸索出来的典型使用方法。因此,也非常欢迎读者分享你在 ZK 使用上的...
1、master选举:mastersel 2、数据的发布和订阅:subscribe 3、负载均衡:balance 4、分布式锁:lock 5、分布式队列:queue 6、命名服务:nameservice 演示代码下载(代码来自极客学院演示demo):
ZooKeeper 是一个高可用的分布式数据管理不系统协调框架。基于对 Paxos 算法的实现,使该框架...网上对 ZK 的应用场景也有丌少介绉,本文将结合作者身边的项目例子,系统地对 ZK 的应用场景迚行一个分门归类的介绉。
2. Zookeeper经典应用场景实战(一)
Zookeeper是一个高可用的分布式数据管理和协调框架,并且能够很好的...Zookeeper的应用场景主要有以下几种 1.数据发布/订阅 2.负载均衡 3.命名服务 4.分布式协调/通知 5.集群管理 6.Master选举 7.分布式锁 8.分布式队列
zookeeper 典型使用场景实践 归档.zip
zookeeper客户端原理代码操作应用场景。