Apache ZooKeeper【动物管理员】

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值