什么是zookeeper
zookeeper是一个分布式协调工具(JAVA语言编写的开源框架)
zookeeper应用场景
- 命名服务(注册中心)Dubbo注册中心
- 分布式配置中心(SpringCloud config)动态管理配置文件信息
- 消息中间件 时间通知(累死与发布订阅功能)
- zookeeper分布式事务(全局协调者)
- zookeeper实现分布式锁
- zookeeper实现选举策略(哨兵机制)
- zookeeper实现本地动态负载均衡(Dubbo服务负载均衡实现原理)
- 消息中间集群管理
zookeeper存储结构
zookeeper以节点方式进行存储,类似XML树状结构
- node的划分方式,node(节点)节点路径,节点value
2.节点名称,保证node同一层要唯一
3.节点类型(临时和持久)
持久点:创建节点的永久的持久化在硬盘上
临时节点:当前节点和绘画连接保持,如果连接断开那么节点会被自动删除(分布式锁原理底层用的就是临时节点)
节点时间通知:每个节点都有时间通知,对节点发生的删除,修改添加都有事件通知,类似与消息中间件功能。