一. zookeeper概述
- zookeeper简称zk, 是一个提供分布式协调服务的开原框架
- zk主要是用来解决分布式应用中经常遇到的一些数据管理问题
- 如:状态同步服务、集群选举管理、分布式应用配置项的管理等。
💡思考
1. 什么叫做协调服务
2. 分布式的应用为什么需要协调服务?
3. zk这款软件的本质是什么?
-
协调服务:
- 协调,主要是指帮忙解决两者(或者多方)之间的矛盾。
- 协调中协的意思是协助,也就是帮助;调的意思是调理,也就是调解。两个字在一起,就是帮助调解。一般协调都是用于两者(或者多者)之间存在的差别或者矛盾问题的解决。
- 比如十字路口的红绿灯系统、交警指挥系统,协调大家如何有序的经过路口,红绿灯与交警就提供了协调服务。
-
分布式协调服务
-
分布式应用软件最大的特点就是:各组件会部署运行在不同的机器上,大家共同配合对外提供服务。
-
那么如何保证分布式软件的一致性问题呢?
比如:
各个模块组件的一些通用配置如何维护管理?要不要集中维护?
如果需要选举主角色,如何选举?如何实现自动主备切换?
某些核心状态信息如何在各个模块中保持同步一致?
-
-
zk软件 >>> 解决以上问题
ZooKeeper本质上是一个分布式的小文件存储系统
提供基于类似于文件系统的目录树方式的数据存储,
并且可以对树中的节点进行有效管理,
从而用来维护和监控你存储的数据的状态变化。
通过监控这些数据状态的变化,
从而可以达到基于数据的集群管理。
- 文件存储系统:存储文件数据的,文件系统,有目录树结构;
- 小文件存储系统:存储数据有容量限制;
- 分布式小文件存储系统:意味着zk自己也是分布式软件,多台机器存储。是标准的主从架构集群。
- 主角色:leader 从角色:follower
二. zookeeper 全局数据一致性 [重要]
-
<