【ZooKeeper】入门

什么是ZooKeeper

简介: Apache ZooKeeper 是一种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务
特点: 数据存在内存中,类型文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠
作用: 基于ZooKeeoer可以实现分布式统一配置中心、服务注册中心、分布式锁等功能

什么是分布式协同

单体架构和分布式架构存在的问题
单体架构:处理多个线程的协调问题,程序需要在多个线程之间,按照我们想要的顺序进行执行,还有多个线程之间的资源抢占问题。
分布式架构:把单体架构的多个线程搬到不同的服务器上,处理不同的机器节点之间的执行顺序和资源抢占问题。

通过分布式锁来实现顺序协调和资源协调,这就是分布式协同
将分布式系统中,都需要的协调管理的公共基础部分,抽出来做成一个独立的公共服务,这就是分布式协调服务

ZooKeeper的应用案例

以下产品使用了ZooKeeper实现了列出的功能
Hbase:Master选举、服务间协调
Solr:集群管理、Leader选举、配置管理
Dubbo:服务注册
Mycat:集群管理、配置管理
Sharding-sphere:集群guanl、配置管理

ZooKeeper同类产品:

consul
etcd:比ZooKeeper轻量
Doozer

安装和使用

下载

下载地址:https://zookeeper.apache.org/releases.html
教程地址:https://zookeeper.apache.org/doc/current/index.html
以下做简单的安装和使用,详细教程参考官网

单机版安装

下载好之后解压,看一下 bin 目录

其中 cmd 结尾的是在windows中使用的,sh 结尾的是在linux中使用的

在 conf 目录中增加配置文件zoo.cfg,可以复制自带的zoo_sample.cfg,然后改个名称,就像下面这样

配置文件中的参数,可以参考 官方指导 中的Configuration Parameters部分

我们就是用默认配置,直接启动服务端 zkServer.cmd,这里使用的是JDK8的环境

看到使用了默认的2181端口

然后启动客户端连接,启动 zkCli.cmd

这样我们就连接进来了,进入了一个命令行,这时就涉及到了ZooKeeper定义的操作命令

使用

在客户端输入 help 就能看到所有的操作命令

下面对abc节点进行一些简单的操作:添加、查看目录、设置节点的值、获取节点的值、删除

# ZooKeeper 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×