本篇博客博主为大家带来的是ZooKeeper的入门介绍。
在此博主先把自己用的ZooKeeper包上传到百度网盘,如有需要的可自行提取,在文章的最后也会介绍怎样在官网下载的。 链接:https://pan.baidu.com/s/178EYOx9N5rHZyjRnrHu13Q
提取码:199b
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布时服务管理框架,它负责存储和管理大家都关心的数据,然后接收观察者的注册,一旦这些数据的状态发生模式设计的分布式服务变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式
Leader: <1>.Zookeeper集群工作的核心 <2>.事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性; <3>.集群内部各个服务器的调度者。 <4>.对于create,setData,delete等有写操作的请求,则需要统一转发给leader处理,leader需要决定编号、执行操作,这个过程称为一个事务。
Follower: <1>处理客户端非事务(读操作)请求,转发事务请求给Leader; <2>参与集群Leader选举投票。
此外,针对访问量比较大的zookeeper集群,还可新增观察者角色。
Observer: 观察者角色,观察Zookeeper集群的最新状态变化并将这些状态同步过来,其对于非事务请求可以进行独立处理,对于事务请求,则会转发给Leader服务器进行处理。
不会参与任何形式的投票只提供非事务服务,通常用于在不影响集群事务处理能力的前提下提升集群的非事务处理能力。
ZooKeeper数据模型的结构与Unix文件系统很类似
,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB
的数据,每个ZNode都可以通过其路径唯一标识
。
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。
在分布式环境下,经常需要对应用/服务进行统一命名,便于识别。 eg:IP不容易记住,但是域名容易记住
下载网址: http://zookeeper.apache.org/releases.html
本篇博客就到这里了,下一篇博客博主将为大家带来Zookeeper的本地模式安装部署及配置参数解读,敬请期待!!!