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. 使用javah生成jni 头文件和使用ndk编译so库

    1.jni 首先clean Project,在makeProject生成对应的class文件 然后点出命名框,输入命令: cd app/build/intermediates/classes/debu ...

  2. hdu-1012-u Calculate e(水题)

    #include <iostream> using namespace std; int main() { ]; jiecheng[] = jiecheng[] = ; ; i<; ...

  3. uva11991(二分查找或map的应用)

    11991 - Easy Problem from Rujia Liu? Time limit: 1.000 seconds Easy Problem from Rujia Liu? Though R ...

  4. uva10943(隔板法)

    很裸的隔板法. 引用一下维基上对隔板法的解释: 现在有10个球,要放进3个盒子里 ●●●●●●●●●● 隔2个板子,把10个球被隔开成3个部份 ●|●|●●●●●●●●.●|●●|●●●●●●●.●| ...

  5. AJAX的最小单元

    $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.json" ...

  6. 寻找数组中第K大数

    1.寻找数组中的第二大数 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  7. 六、Jmeter后置处理器JSON Extractor

    一.当接口返回是JSON格式的时候,就可以用JSON Extractor来抓取返回的值,用来关联或者断言. 1.首先,到V2EX中找一个接口,地址为:https://www.v2ex.com/p/7v ...

  8. Python collections系列之双向队列

    双向队列(deque) 一个线程安全的双向队列 1.创建一个双向队列 import collections d = collections.deque() d.append(') d.appendle ...

  9. DevExpress TreeList GridView 样式设置

    1.GridView 样式设置 this.gridViewUser.PaintStyleName = "Flat"; 2.TreeList 样式设置 this.treeListDe ...

  10. mycat sequence

    数据库方式原理在数据库中建立一张表,存放sequence名称(name),sequence当前值(current_value),步长(increment int类型每次读取多少个sequence,假设 ...