文档章节

Zookeeper 自理解的应用场景

SLoan_
 SLoan_
发布于 2017/08/31 11:27
字数 923
阅读 24
收藏 0

Zookeeper 是什么?

         分布式数据管理与系统协调的服务框架

         数据管理:命名服务,状态同步,集群管理,配置管理;

         系统协调:多个服务协调运行,相互之间不会有影响;

         简称为:文件系统+通知机制

                   文件系统:系统目录,树形数据结构;

                   通知机制:监听所关心的目录节点,当节点发生变化,会通知到客户端;

 

Zookeeper 应用场景有哪些?

         数据发布与订阅:可以看做为一对多关系,其中发布者将最新的信息发布到某个节点上,当数据有变化时,所有订阅者能够及时得到数据变化的通知。比如说,某一个应用其中的全局配置有更新,那么其他所有机器的配置信息都能获取都动态的信息;

         负载均衡: 本身是不提供负载均衡的策略,需要自己去实现,比如说,为了高可用高并发,把同一个应用或者服务部署到多份,配置管理访问的规则,实现负载平均,不至于所有访问压力都放在单个点上;

         命名服务:最重要还是资源定位的问题;能够根据指定的名字来获取资源或者服务器的地址,提供者的信息;比如说,这个名字可以当做路径来访问某些文件信息;例如:机器的IP,文件的路径,服务的地址;

         集群管理与Master选举

            集群管理:管理机器数量(奇数),运行状态,机器上下线,节点的统一配置;

            Master选举: 那么为什么 Master 要选举:有一些比较复杂的运算,通过节点让整个集群中的某一台机器单独执行,其余的机器共享结果,从而减少很多重复造轮子的资源。只允许一个Master;比如说,主机是Master挂了,那么就从备用机中选择一台当做Master;每次选取编号最小的机器作为Master;

         分布式锁: 防止进程之间的互相干扰某个服务,就是说当前有个进程正在访问某个服务,通过锁,其他进程暂时无法对其操作该资源,保证数据一致性,就是说第一个进程先进来上锁操作,弄完了,解开锁之后再到另一个进程;保持独立;

                   如果在上锁后出现问题,锁会被释放,立即转移到另外的服务中继续执行;

         分布式队列

                   两种模式:一个接着一个去执行,先到先来的执行;

                                一个队列的成员都聚齐时才去执行,比如说,有个大任务分解为很多子任务,必须等子任务全部完成才能进入到下一个流程;否则一直等待完成;

分布式通知与协调:分布式通知其中更新了某个节点,另一个系统能够收到通知并作出相应的处理;

         配置管理:程序当中所有的配置文件放在某个节点中,对其进行监听,一旦其配置文件有变化,每个应用都会收到通知,直接获取新的配置信息到应用系统就好;比如说,数据库连接,

 

zookeeper安装,zoo.cfg配置已完成,myid以创建,目前能够启动。

过程不著述,如果需要我可以写出来。

© 著作权归作者所有

共有 人打赏支持
SLoan_
粉丝 11
博文 31
码字总数 45927
作品 0
广州
运维
分布式网站架构后续:zookeeper技术浅析

 Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper...

蓝狐乐队
2014/04/21
0
0
阿里巴巴为什么不用 ZooKeeper 做服务发现?

站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公...

阿里云头条
06/06
0
0
ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据

引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法、Zab协议、通信协议等相关知 识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解...

卯金刀GG
2017/10/25
0
0
分布式设计与开发(三)------高一致性服务ZooKeeper

分布式环境中大多数服务是允许部分失败,也允许数据不一致,但有些最基础的服务是需要高可靠性,高一致性的,这些服务是其他分布式服务运转的基础,比如naming service、分布式lock等,这些分...

山哥
2012/03/19
0
0
这可能是把ZooKeeper概念讲的最清楚的一篇文章

我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。 前几天,总结项目经验的时候,我突然问自己 ZooKeeper ...

51CTO技术栈
09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
80
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
今天
4
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
5
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部