您当前的位置: 首页 >  zookeeper

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Zookeeper简介

梁云亮 发布时间:2020-03-07 10:06:35 ,浏览量:1

Zookeeper是一个开源的、分布式的、为分布式应用提供协调服务的Apache项目。

从设计模式角度理解:Zookeeper是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在其上注册的观察者做出相应的反应。

ZooKeeper提供了在分布式环境下集中式的信息维护管理服务。它是一种简单但功能强大的分布式同步机制,允许客户端的应用程序监控或者订阅数据集中的部分数据:当数据产生,更新或者修改时,客户端都会收到通知。

在这里插入图片描述 其实Zookeeper就是个分布式文件系统,每一个服务提供者部署后都要将自己的服务注册到Zookeeper的某一路径上: /{service}/{version}/{ip:port},比如HelloWorldService部署到两台机器,那么Zookeeper上就会创建两条目录:分别为/HelloWorldService/1.0.0/100.19.20.01:16888和 /HelloWorldService/1.0.0/100.19.20.02:16888。 Zookeeper提供了“心跳检测”功能,它会定时向各个服务提供者发送一个请求(实际上建立的是一个 socket 长连接),如果长期没有响应,服务中心就认为该服务提供者已经“挂了”,并将其剔除。比如,100.19.20.02这台机器如果宕机了,那么Zookeeper上的路径就只剩下/HelloWorldService/1.0.0/100.19.20.01:16888。 Zookeeper会去监听相应路径(/HelloWorldService/1.0.0),一旦路径上的数据有任何变化(增加或减少),Zookeeper都会通知服务消费方服务提供者地址列表已经发生改变,从而进行更新。

Zookeeper提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

使用常见的ZooKeeper 模式或方法,开发者可以实现分布式计算所需要的很多种机制,比如Leader选举,分布式锁和队列。

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0402s