Apache ZooKeeper【动物管理员】

【ZooKeeper】
笔者坚信,每一个名字都有着一个故事,或者一段含义。zoo表明动物园,keeper管理员。既然做为动物管理员,那么是否是得管理一些动物呢?
前面我们讲到Hadoop,这货居然是大象,不信的看图:
Apache ZooKeeper【动物管理员】
Hive【蜜蜂】
Apache ZooKeeper【动物管理员】
pig【apache pig猪】
Apache ZooKeeper【动物管理员】
从未想到zookeeper还能够如此的形象,真是来源于生活啊。
Apache ZooKeeper【动物管理员】
【主要功能】
ZooKeeper是用于维护配置信息,命名,提供分布式同步和提供组服务的集中式服务。主要功能:配置管理、名字服务、分布式锁、集群管理。
一、配置管理
像咱们传统的项目配置文件,那是很是多的。尤为是涉及动态配置文件的时候。要是有一款能集中管理配置的方法就行了,咱们集中修改配置。Zookeeper就能够很好的解决嘛,它使用Zab这种一致性协议,在Alibaba开源的SOA框架Dubbo中也普遍的使用Zookeeper管理一些配置来实现服务治理。apache

二、名字服务
通常咱们项目中的访问地址都是ip地址+端口号这样的形式。可是呢,在外网的环境中不都是域名吗,哪有什么IP地址做为访问的。
但是,计算机不能识别域名,那怎么办呢?
因而咱们有了DNS这个东西,咱们只须要访问一个你们熟知的点,他就会告诉你这个域名对应的IP是什么。在这个点里,提供统一的入口。
【ps,什么是DNS?】
答:域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。
Apache ZooKeeper【动物管理员】
Apache ZooKeeper【动物管理员】
三、分布式锁
Zookeeper是一个分布式协调服务,咱们利用Zookeeper来协调多个分布式进程之间的活动。
例如,在一个分布式环境中,为了提升可靠性,咱们在集群的每台服务器上都部署一样的服务。咱们只让一个服务进行操做,会存在单点问题。那么还有一种相似线程锁的东西,就是分布式锁,在某个时刻只让一个服务去操做,当这台服务出现问题的时候锁释放,而后别的服务启动。使用需谨慎哦。
四、集群管理
在分布式的集群中,会有各类问题出现,像服务器断电,重启,网络问题,这时候的节点会进进出出的。集群中的其余机器须要感知这种变化,而后根据这种变化作出应对策略。
这时候咱们就须要动态感知到集群目前的状态,还有就是当某个客户端访问某个服务的时候,就须要采用某种机制去寻找那些节点能够提供该服务--服务发现。
【ps,什么是分布式?】
答:分布式系统是多个处理机经过网络互连而构成的松散耦合系统。
具备如下四个特征:
①分布性:系统有多台服务器组成,地域上是分散的。整个系统的功能分散在各个节点上实现;
②自治性:分布式系统中的各个节点都有本身的处理机和内存,地位上平等,无主次之分。既能自治的进行工做,又能利用网络来传送信息,协调任务处理;
③并行性:各个节点能够并行执行;
④全局性:分布式系统必有存在一个单一的,全局进程通信机制。系统中全部机器上有统一的系统调用集合。
【ps,Zookeeper与HA区别?】
答:HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,通常有两个或两个以上的节点,且分为活动节点及备用节点。
Apache ZooKeeper【动物管理员】
在Zookeeper中,没有主从关系,二是引入了新的概念: Leader(头),Flower(随从),Observer(观察者)三种角色。
Apache ZooKeeper【动物管理员】服务器

相关文章
相关标签/搜索