Zookeeper简介

一、概念

Zookeeper是一个分布式应用程序的高性能协调服务,可以对应用程序服务进行发现与注册

二、结构

1. 树形目录结构,每个子目录叫做节点znode,可以存放数据

2. 持久节点:当客户端与zookeeper服务器端断开后,该节点仍然存在;对节点进行有序编号后,成为持久有序节点

3. 临时节点:当客户端与zookeeper服务器端断开后,该节点被删除,并且临时节点不存在子节点;对节点进行有序编号后,成为临时有序节点

4. 节点监听:客户端可以监听某个节点,当节点变化时,会通知此客户端

三、Zookeeper分布式锁

1. 多个进程监听多个临时有序节点,每个进程对应一个

2. 编号最小的进程获得锁,操作资源

3. 当操作远程后,删除对应临时有序节点,释放锁,下一个编号最小的节点便获得了锁

四、服务注册和发现

1. 服务注册:服务提供方把服务注册到Zookeeper上,一个服务可能对应多个不同的IP

2. 服务注册的原理是:Zookeeper为每个应用创建一个持久节点,在持久节点下,创建临时节点,记录每个微服务的IP

3. 服务订阅(监听):调用方从Zookeeper中获取提供方的调用地址列表

4. 服务动态发现:Zookeeper会把节点的变化信息,推送给客户端

参考:

https://mp.weixin.qq.com/s/TEGAOrc_to5NP6SNc1F_gQ

原文地址:https://www.cnblogs.com/june0816/p/6169291.html