zookeeper比较重要的一个模式:选举模式,这也是高可用的一个体现。公司的董事长、副董事长、董事会常理员以及老总和副总,他们并不会乘坐同一班飞机,而是会分为两班或者三班飞机一起去,也就是我们所谓的集群高可用。

让运维去多做几份备份,把不同的备份或者说是同样的备份上传到相同的服务器或者说是不同的服务器那么就可以了,其实这样子是不对的。我们做一个假设,我们假设现在修改了redis的配置,那么修改redis的配置的话我们是需要在我们的一些生产环境上去做相应的修改。订单服务部署在A、B、C三台服务器,那么它是一个订单服务集群。那么相同的有用户服务集群,还有是账单服务集群。那么目前总共是有9台机子,我们修改了redis一个配置之后,它其实是需要在这9台机子上同时生效,那么这现在仅仅只是3种服务,在微服务中其实是会有很多很多的服务,甚至是有成千上百个,对于我们的运维工程师来说这其实是一个不小的工作量,所以说通过zookeeper它可以只修改一台电脑,然后通过这一台电脑再分发到其他的电脑,它可以做一个统一的部署,那么这样子会简化他的工作,提高了效率。

Dubbo它也是基于消息队列MQ的。

那么这也就是所谓的发布者与订阅者模式。

集群和分布式环境中,不同服务器对资源的一个争抢。对于同一个文件来讲,对于这么多的并发,那么文件它到底应该听谁的呢?是不是有先来后到,还是说最后一个来的先去修改呢?其实不一样的。我们需要对它加一个锁机制,也就是说当我们A服务器在进行读操作的时候,我们下一回啊只能进行一个个排队,也就是说我们A去操作的时候,下面的人就是进行了一个阻塞,也就是说相当于是一个读书吧。当A在读一本书的时候,那么他是拿在手里的,总共就只有一本书,那么下面的其他的一些用户需要去看书或者说对书里面做一些笔记或者说是修改的话那么肯定是要等到A把这本书归还到读书管理员之后他们才能去看,也就是说下面的人会一个一个排队,也就是说他们会被阻塞住,直到A释放,A释放完毕之后再B释放,然后依次类推,他们是一个顺序。

如果说客户端现在和主节点切断了链接,切断链接之后它不想去读了,那么直接去读附属节点,那么附属节点的时候它们的数据也是有的。也就是说我们客户端在不管链接任何一台机子的时候,它都可以读到数据的一致性。这个就是数据一致性的表现。

3-3 zookeeper的作用体现的更多相关文章

  1. zookeeper基本知识和zk作用体现

    有一段时间没写博客,今天想着把自己近几个月做的笔记分享一波. 前两个月我一直在看zk的视频:https://coding.imooc.com/learn/list/201.html   从开始看这位老 ...

  2. 什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

    什么是Zookeeper,Zookeeper的作用是什么,它与NameNode及HMaster如何协作?在没有接触Zookeeper的同学,或许会有这些疑问.这里给大家总结一下. 一.什么是Zooke ...

  3. Zookeeper的作用,在Hadoop及hbase中具体作用

    什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么 一.什么是Zookeeper ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hado ...

  4. storm基础系列之二----zookeeper的作用

    在storm集群中,我们常常使用zookeeper作为协调者.那么具体发挥的是什么作用呢? 概括来说,zookeeper是nimbus和supervisor进行交互的中介.具体来说有二: 1.nimb ...

  5. zookeeper leader作用

    一个zookeeper 集群 只有一个leader: 类似master/slave模式 客户端提交请求之后,先发送到leader,leader作为接收者,广播到每个server 在folloer上创建 ...

  6. 分布式超级账本Hyperledger里zookeeper的作用

    Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...

  7. zookeeper的作用

    1.管理(存储和读取)程序提交的状态数据 2.为用户程序提供数据节点监听服务

  8. Zookeeper基本数据模型

    一.Zookeeper基本数据模型 是一个树形结构,类似于前端开发中的tree.js组件 zk的数据模型也可以理解为linux/unix的文件目录  /usr/local/... 每一个节点称之为zn ...

  9. ZooKeeper分布式专题与Dubbo微服务入门

    第1章 分布式系统概念与ZooKeeper简介对分布式系统以及ZooKeeper进行简介,使得大家对其有大致的了解1-1 zookeeper简介1-2 什么是分布式系统1-3 分布式系统的瓶颈以及zk ...

随机推荐

  1. 双十字路口交通仿真程序(VS2010+MFC)

    这个程序是我上研二上学期时下一届师弟师妹们的面向对象课程大作业,当时我正好看过两三本 C++ 书籍,虽然忙着项目,但还是忙里偷闲检验了下自己.从设计到实现,耗时一周左右,完成于 2013 年年底. 虽 ...

  2. python中的list()函数和tuple()函数

    tuple函数:将一个序列作为参数,并把它转化为元组,如果参数是元组,将会原样返回: >>> tuple([1,2,3]) (1, 2, 3) >>> tuple( ...

  3. WP追加字符串到文件

    #if DEBUG const string logfile = "demo.log"; try { using (var sw = new System.IO.StreamWri ...

  4. Android中播放DSD音乐

    Github上有个简单的Alsa DSD测试程序,可以播放DSD,地址位于:https://github.com/zonque/alsa-dsd-player 细看其代码,发现有ALSA_FORMAT ...

  5. 14 Python 装饰器

    装饰器 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数.让我们从简单的开始,直到能写出实用的装饰器. def outer(some_func): def inner(): print ...

  6. hdu1398 Square Coins(母函数)

    题目类似于整数拆分,很明显用母函数来做. 母函数的写法基本固定,根据具体每项乘式的不同做出一些修改就行了.它的思路是从第一个括号开始,一个括号一个括号的乘开,用c1数组保存之前已经乘开的系数,即c1[ ...

  7. 线程存储(Thread Specific Data)

    线程中特有的线程存储, Thread Specific Data .线程存储有什么用了?他是什么意思了? 大家都知道,在多线程程序中,所有线程共享程序中的变量.现在有一全局变量,所有线程都可以使用它, ...

  8. mount: error mounting /dev/root on /sysroot as ext3: Invalid argument

    /************************************************************************ * mount: error mounting /d ...

  9. CERC2016 爵士之旅 Jazz Journey

    传送门(洛谷) 题目大意 给定$n$个位置,和一个长为$m$的序列$A$,你需要经过一条直接的边从第$A_i$个位置到第$A_{i+1}$个位置. 每条有向边$(u,v)$分为两种,第一种可以花费$C ...

  10. NET Core 2.0利用MassTransit集成RabbitMQ

    NET Core 2.0利用MassTransit集成RabbitMQ https://www.cnblogs.com/Andre/p/9579764.html 在ASP.NET Core上利用Mas ...