文档章节

Zookeeper 自理解的应用场景

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

Zookeeper 是什么?

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

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

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

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

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

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

 

Zookeeper 应用场景有哪些?

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

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

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

         集群管理与Master选举

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

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

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

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

         分布式队列

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

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

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

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

 

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

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

© 著作权归作者所有

共有 人打赏支持
SLoan_
粉丝 11
博文 31
码字总数 45927
作品 0
广州
运维
私信 提问
ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据

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

卯金刀GG
2017/10/25
0
0
阿里巴巴为什么不用 ZooKeeper 做服务发现?

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

阿里云头条
06/06
0
0
分布式网站架构后续:zookeeper技术浅析

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

蓝狐乐队
2014/04/21
0
0
这可能是把ZooKeeper概念讲的最清楚的一篇文章

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

51CTO技术栈
09/11
0
0
分布式设计与开发(三)------高一致性服务ZooKeeper

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

山哥
2012/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue- 对象语法 v-bind:class与对象语法的使用

我们可以传给 v-bind:class 一个对象,以动态地切换 class 。 <div v-bind:class="{ active: isActive }"></div>//对象语法也就是在v-bind:class绑定一个对象的时候,里面的值将影响最终取值...

文文1
22分钟前
1
0
epoll中使用

1、一个线程epoll_wait时,另一个线程调用epoll_ctl是安全的。 2、使用edge触发,在socket有数据到来后,不收取数据,再次调用epoll_ctl将socket加入,仍会触发下一次动作。 asio用该方法来发...

gelare
50分钟前
1
0
PHP规范PSR2

PSR标准 - PSR-2 为了尽可能的提升阅读其他人代码时的效率,下面例举了一系列的通用规则,特别是有关于PHP代码风格的。 各个成员项目间的共性组成了这组代码规范。当开发者们在多个项目中合作...

geek土拨鼠
今天
5
0
【极简】如何在服务器上安装SSL证书?

本文适合任何人了解,图形化操作。下面以腾讯云为例,并且服务器(linux)也安装了宝塔面板。 1.登陆腾讯云账号进入控制台,找到SSL的产品 2.按要求申请并填写表单,记住私钥密码 3.提交后,待...

皇冠小丑
今天
1
0
深入理解编译器

深入理解编译器 原文出处 欢迎向Rust中文社区投稿,投稿地址,好文将在以下地方直接展示 1 Rust中文社区首页 2 Rust中文社区Rust文章栏目 3 知乎专栏Rust语言 编程语言是如何工作的 从内部理解...

krircc
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部