【Zookeeper】——功能介绍
来源:互联网 发布:淘宝联盟的导购名称 编辑:程序博客网 时间:2024/05/30 23:03
Zookeeper是什么?
分布式协调服务,为分布式应用提供一致性服务。
应用场景
数据发布/订阅
发布者把数据发布到zk一个或一系列节点,供订阅者订阅到达动态获得数据的目的。
数据的发布/订阅有两种模式:推和拉。推就是服务端主动把数据更新发给所有订阅者,拉就是客户端主
动定时的发请求获取最新数据。
Zk将两者结合,客户端订阅自己需要的数据节点,如果对应节点发生数据变更,服务端给客户端发送
Watcher事件通知,客户端收到消息后主动获取最新数据。
集群管理
监控节点的存活状态
当前集群中的机器数量
集群中机器的运行时状态
集群中节点的上下线操作
集群节点的统一配置,该项功能一般是结合数据发布/订阅完成的
Master选举
Master选举也是对集群的一种管理,集群有多种模式,如:对等模式,就是每台机器都提供服务会通过
nginx之类的工具做负载,还有一种是主备模式的,主节点向外提供服务,备节点实时跟新数据,一旦主节点
挂掉了备节点开始新一轮选主。Master选举说的就是这个选举的过程,使用Zookeeper可以协助完成这个过程。
分布式锁
控制分布式系统之间同步访问共享资源的一种方式,Zookeeper提供两种锁:独占锁、共享锁。独占锁即
一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线线程同时读同一个资源,如果要
使用写锁也只能有一个线程使用。Zookeeper可以对分布式锁进行控制。
命名服务
命名服务也是分布式系统中比较常见的一类场景。在分布式系统中,通过使用命名服务,客户端应用能够
根据指定名字来获取资源或服务的地址,提供者等信息。被命名的实体通常可以是集群中的机器,提供的服务
地址,远程对象等等——这些我们都可以统称他们为名字(Name)。其中较为常见的就是一些分布式服务框
架中的服务地址列表。通过调用ZK提供的创建节点的API,能够很容易创建一个全局唯一的path,这个path就可
以作为一个名称。
比较常见的应用是Dubbo在zk上注册服务时就是使用zk的统一命名维护全局的服务地址列表。服务提供者
在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就
完成了服务的发布。服务消费者启动的时候,首先订阅服务提供者指定目录下已注册的URL地址,并向消费者
指定的节点/dubbo/{serviceName} /consumers目录下写入自己的URL地址。
小结
以上只是Zookeeper功能中比较常用的几个,后面的博客详细的介绍Zookeeper的一些基础概念和以上功能的实现。
- 【Zookeeper】——功能介绍
- Zookeeper基础—Zookeeper介绍
- ZooKeeper学习总结(1)——ZooKeeper入门介绍
- Zookeeper介绍(二)——Zookeeper概述
- Zookeeper介绍(三)——Zookeeper的安装
- Zookeeper介绍(四)——Zookeeper中的基本概念
- zookeeper系列学习——(1)zookeeper的简单介绍
- Zookeeper介绍(一)——背景知识
- zookeeper学习第一期——简单介绍
- ZooKeeper介绍
- zookeeper介绍
- ZooKeeper介绍
- zookeeper介绍
- Zookeeper介绍
- zookeeper介绍
- Zookeeper 介绍
- zookeeper介绍
- zookeeper介绍
- 14 QT TCP网络编程与网络聊天室的实现
- html css遇到的问题总结
- STM32-通用定时器基本定时功能
- 将github的开源项目用git管理起来
- GUID partition table, GPT 磁盘分区表(在Linux中添加一块大于 2TB 的新磁盘)
- 【Zookeeper】——功能介绍
- 阅读笔记:pg085 AXI4-Stream infrastructure
- 2017年 湘潭校赛 H题 Highway 最长路径和
- 第7章 离散信号的基本运算
- python-利用pyinstaller打包成exe
- Linux任务调度及crontab用法详解、进程的介绍和管理、时间、网络状态信息、路由信息等
- centos 7挂载oss为本地硬盘
- css一些样式上的问题
- 258. Add Digits -- 递归、字符串分解