Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。
- 客户端可以连接到每个server,每个server的数据完全相同。
- 每个follower都和leader有连接,接受leader的数据更新操作。
- Server记录事务日志和快照到持久存储。
- 大多数server可用,整体服务就可用。
用途:
数据发布与订阅:
负载均衡(无单点):
ZK会维持一个可用列表 供客户端下载 进行负载均衡
统一命名服务:
自增长ID:适用单库单表
UUID:分布式环境 但难于理解
ZK可以生成易于理解的应用于分布式环境的自增ID
分布式协调:
服务器状态监测
不可用 会删除zk临时节点