2018年6月5日22:40:04 这周内在进行整理
初识 zookeeper
什么是 zookeeper
zookeeper 是一个开源的分布式协调服务,也是一个提供了分布式数据一致性解决方案的软件。
zookeeper 有哪些应用
数据的发布/订阅(配置中心:disconf、apollo)、负载均衡、集群的 master 选举、分布式队列、分布式锁。
zookeeper 的特性
顺序一致性
从客户端发送的请求,会严格按照顺序被应用到服务器端。
原子性
事务在整个集群中所有机器的应用情况是一致的,要么所有机器都应用,要么所有机器都不应用。
可靠性
一旦服务器对某个事务进行了处理,并做出了返回,那么将会在整个集群中进行同步。
实时性
一旦事务在服务器端被应用,客户端能立刻从服务端读到数据的变更。(近实时性)
zookeeper 安装
前面说 zookeeper 是开源的软件,安装起来也非常简单,即开即用,解压后可以立即使用。
安装步骤
上传后进行解压,因为 zookeeper 是 java 编写的,所以我们需要优先安装 java 环境。
复制一份 zoo_sample.cfg 文件到 zoo.cfg
启动 zookeeper 服务端,并尝试通过自带的客户端访问服务端
zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
zookeeper 集群
zookeeper 集群中有三种成员 leader/