小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
简介
ZooKeeper 是分布式协调服务
集中式信息存储
分布式协调服务
一个不知名的小网站,初期用户访问量比较低,一台服务器即满足了需求,这时是一个单机架构。
随着互联网的兴起,网站知名度提高,用户量激增,一台服务器,已经无法应对大量的请求。应用服务器变成了多台,业务进行了拆分,形成了分布式架构。
以前,一台服务器,资源的协调在一个进程中,使用锁完成,现在,多台服务器,资源的协调需要新的工具,即分布式协调。例如:分布式锁。
将分布式系统中,负责分布式服务协调的公共部分抽取出来,就构成了一个分布式协调服务。
数据模型
ZooKeeper 数据模型类似文件系统,不同之处是,非叶子节点同样可以存储数据。
简单操作
使用客户端连接服务端后,输入 help,即可看到帮助文档,介绍了各种命令使用方式。
help
ZooKeeper 应用案例
第一次接触 ZooKeeper,是作为 Dubbo 的注册中心,第二次是作为 Kafka 的依赖。
Hbase 使用 ZooKeeper 进行 Master 选举,服务间协调。
ShardingSphere 使用 ZooKeeper 进行集群管理、配置管理。
总结
ZooKeeper 是分布式协调服务,数据模型类似文件系统,被大量应用于分布式系统中,充当 master 选举、服务协调、配置管理等角色,是分布式系统中的重要组成部分。
参考文档
《网易公开课》