当前位置: 首页 > news >正文

金万邦网站备案信息真实性核验单qq群推广链接

金万邦网站备案信息真实性核验单,qq群推广链接,廉江网站制作,投资理财产品网站建设1.ZooKeeper是什么 简单来说,她是一个分布式的,开放源码的分布式应用程序协调服务 具体来说,他可以做如下事情: 分布式配置管理:ZooKeeper可以存储配置信息,应用程序可以动态读取配置信息。分布式同步&a…

1.ZooKeeper是什么

简单来说,她是一个分布式的,开放源码的分布式应用程序协调服务

具体来说,他可以做如下事情:

  • 分布式配置管理:ZooKeeper可以存储配置信息,应用程序可以动态读取配置信息。
  • 分布式同步:ZooKeeper可以协调各个节点的同步,确保数据的一致性。
  • 命名服务:ZooKeeper可以作为一个命名服务,应用程序可以通过名字来找到所需的服务。
  • 集群管理:ZooKeeper可以用来管理分布式集群,协调各个节点的加入和退出。
  • Master选举:ZooKeeper可以用来实现Master选举,选择一个节点作为Master节点。
  • 分布式协调服务:Zookeeper提供了一些分布式协调服务,如分布式锁、唯一标识生成等,帮助系统中的各个组件之间进行协调。
  • 服务注册和发现:Zookeeper可以用于注册和发现系统中的服务,简化服务的部署和更新。
  • 负载均衡:Zookeeper可以用于动态地对请求进行负载均衡,以提高系统的可用性

2.Zookeeper的数据结构是怎么样的?

  • 数据模型

    • 数据是以目录结构的形式存储的

    • 每一个存储数据的节点都叫做Znode,每个Znode都有一个唯一的路径标识

      • 每一个节点都可以可有子节点(临时节点除外)

      • 节点中可以存储数据和状态信息

      • 每个Znode上可以配置监视器(watcher),用于监听节点中的数据变化

      • 节点不支持部分读写,而是一次性完整读写。

      • 每个znode被创建时都会带有一个ACL列表,用于决定谁可以对它执行何种操作

  • 节点类型

    • Znode有四种类型

      • PERSISTENT(持久节点)

        • 在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。

      • PERSISTENT_SEQUENTIAL(持久的连续节点)

        • 在ZooKeeper中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。

        • 在创建节点过程中,ZooKeeper会自动为给定节点名加上一个数字后缀,作为新的节点名(序列号会自动递增)。这个数字后缀的范围是整型的最大值。

      • EPHEMERAL(临时节点)

        • 临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉

      • EPHEMERAL_SEQUENTIAL(临时的连续节点)

        • 临时节点的生命周期和客户端会话绑定。注意创建的节点会自动加上编号(序列号会自动递增)。

3.Zookeeper集群中的角色有哪些?有什么区别?

  • ZK中主要有以下角色:

    • 领导者(leader)

      • 负责进行投票的发起和决议,更新系统状态。

      • 为客户端提供读和写服务

    • 跟随者(follower)

      • 在选主过程中参与投票

      • 为客户端提供读服务,转发写请求

    • 观察者(observer)

      • 可以接受客户端连接处理读请求,将写请求转发给leader

      • 但observer不参加投票过程,只同步leader的状态

      • observer的目的是为了扩展系统,提高zookeeper集群的读性能

        • Observer支持更多的客户端连接提高了zookeeper读性能的同时又不影响zookeeper的写性能

    • 客户端(client)

      • 请求发起方

4.Zookeeper是CP的还是AP的?

  • ZooKeeper职责

    • ZooKeeper作为分布式协调服务,它的职责是保证数据在其管辖下的所有服务之间保持同步、一致

    • 所以会牺牲可用性,会丢弃一些请求,消费者程序需要重新请求才能获得结果。

    • 所以是cp的

  • cp的体现

    • zookeeper的写操作是要经过半数以上的Follower确认才能够写成功的。那么当zookeeper集群中的节点越多时,zookeeper的写性能就越差。如果集群中的存活节点数低于总结点数的一半,那么整个集群将无法接受新的写 请求。

    • 在 ZK 的 master 选举过程中,在新的Master被选举出来之前,整个集群也无法接受新的写请求。

      • 如果 ZooKeeper下所有节点都断开了,或者集群中出现了网络分割的故障,那么ZooKeeper 会将它们都从自己管理范围中剔除出去,外界就不能访问到这些节点了,即便这些节点本身是“健康”的,可以正常提供服务的;

5.Zookeeper是选举机制是怎样的?

  • 提名和投票

    • 在提名过程中,所有的投票者都遵守一个原则,那就是遇强投强。

      • 在Zookeeper中,通过数据是否足够新来判断这个节点是不是够强,在 Zookeeper 中以事务id(zxid)来标识数据的新旧程度,节点的zxid越大代表这个节点的数据越新,也就代表这个节点能力越强。

        • 那么在投票过程中,节点首先会认为自己是最强的,所以他会在投票时先投自己一票,然后把自己的投票信息广播出去,这里面包含了zxid和sid,zxid就是自己的事务ID,sid就是标识出自己是谁的唯一标识。

        • 这样集群中的节点们就会不断收到别人发过来的投票结果,然后这个节点就会拿别人的zxid和自己的zxid进行比较,如果别人的zxid更大, 说明他的数据更新,那么就会重新投票,把zxid和sid都换成别人的信息再发出去。

      • 选举过程:如果一个候选者获得了大多数节点投票,它就会成为新的Leader,否则,所有节点会继续下一个选举周期

        • 选举过程分为多个轮次,每个轮次被称为一个"选举周期"。在每个选举周期中,节点根据投票数来选择新的Leader候选者。如果一个候选者获得了大多数节点(超过半数)的投票,那么它就会成为新的Leader。否则,没有候选者能够获得足够的投票,那么这个选举周期失败,所有节点会继续下一个选举周期

6.如何用Zookeeper实现分布式锁?

  • 基于zookeeper临时有序节点可以实现的分布式锁。

    • 客户端首先连接到 ZooKeeper 集群

    • 客户端在特定路径下创建临时有序节点

      • 例如,如果路径为 /lock,那么客户端创建的节点可能是 /lock/lock-00000001,下一个创建的节点可能是 /lock/lock-00000002,依此类推。

    • 通过序号获取锁

      • 客户端获取 /lock 目录下所有子节点,并按序号排序。

      • 检查自己创建的节点是否是序号最小的节点。如果是,则获取锁。

    • 等待锁

      • 如果当前客户端的节点不是序号最小的节点,那么找到比自己序号小的节点,设置监听器等待它被删除。

      • 当上一个节点被删除时,ZooKeeper 会通知客户端,此时客户端重新检查自己是否成为了序号最小的节点。

    • 释放锁

      • 完成任务后,删除自己创建的临时节点,从而释放锁

7.Zookeeper是如何保证创建的节点是唯一的?

第6点说到分布式锁通过Zookeeper创建节点实现的,那么如何保证创建的节点是唯一的

  • Zookeeper通过两个手段来保证节点创建的唯一性:

    • 所有的写请求都会由Leader进行,即使是请求到Follower节点,也会被转发到Leader节点上执行

    • 通过加锁(synchronized)和CAS(ConcurrentHashMap)操作,保证了并发情况下只有一个线程可以添加节点成功。

      • 先是通过synchronized锁,将父节点锁住,然后再在锁里面判断是否已经存在节点,如果已存在,直接抛异常,如果不存在,则向维护了节点的map——NodeHashMap中添加当前节点。

8.Zookeeper的watch机制是如何工作的?

  • watch机制是什么

    • 能够让应用程序监听Zookeeper上节点的变化,从而及时做出响应。

  • Zookeeper的watch机制是如何工作的?

    • 客户端连接到Zookeeper服务端,客户端创建一个ZkWatcherManager实例,用于管理客户端中所有的watcher。

    • 当客户端想要监控某个znode节点时,它可以调用ZkWatcherManager中的方法创建watcher并将其注册到客户端中。客户端将watcher的信息发送到Zookeeper服务端。

    • Zookeeper服务端接收到客户端发送的watcher信息后,会将该watcher信息交给WatchManager处理。WatchManager会将该watcher注册到相应的znode节点上,并将watcher相关的信息保存在内存中。

    • 当znode节点发生变化时,WatchManager会通知Zookeeper Server

    • Zookeeper Server会根据变化类型通知相应的客户端,告知它们发生了哪些变化。

    • 当客户端接收到Zookeeper Server的通知后,ZkWatcherManager会根据watcher的类型(data watcher或child watcher)来触发相应的事件处理方法,例如data watcher会触发processDataChanged()方法,child watcher会触发processChildChanged()方法等。


文章转载自:
http://procellous.sLnz.cn
http://sown.sLnz.cn
http://churchgoer.sLnz.cn
http://expressiveness.sLnz.cn
http://clerical.sLnz.cn
http://misophobia.sLnz.cn
http://adi.sLnz.cn
http://parascience.sLnz.cn
http://sudden.sLnz.cn
http://orometer.sLnz.cn
http://reest.sLnz.cn
http://upsala.sLnz.cn
http://acclamatory.sLnz.cn
http://leadswinger.sLnz.cn
http://deuteronomic.sLnz.cn
http://unworldly.sLnz.cn
http://benares.sLnz.cn
http://estimating.sLnz.cn
http://star.sLnz.cn
http://spermoblast.sLnz.cn
http://infinitesimal.sLnz.cn
http://kettle.sLnz.cn
http://ontological.sLnz.cn
http://mincer.sLnz.cn
http://midnight.sLnz.cn
http://discretional.sLnz.cn
http://corrosive.sLnz.cn
http://annotator.sLnz.cn
http://emeerate.sLnz.cn
http://heteropterous.sLnz.cn
http://niflheim.sLnz.cn
http://ileum.sLnz.cn
http://fracas.sLnz.cn
http://gladiolus.sLnz.cn
http://estranged.sLnz.cn
http://sanatory.sLnz.cn
http://piolet.sLnz.cn
http://cadaverine.sLnz.cn
http://combing.sLnz.cn
http://perusal.sLnz.cn
http://diplomacy.sLnz.cn
http://idiot.sLnz.cn
http://boxthorn.sLnz.cn
http://chlorinous.sLnz.cn
http://ashman.sLnz.cn
http://zif.sLnz.cn
http://jaunce.sLnz.cn
http://pecker.sLnz.cn
http://underdid.sLnz.cn
http://disconnect.sLnz.cn
http://sistine.sLnz.cn
http://douppioni.sLnz.cn
http://disaffirmance.sLnz.cn
http://imperturbability.sLnz.cn
http://globulous.sLnz.cn
http://surliness.sLnz.cn
http://timbre.sLnz.cn
http://bosom.sLnz.cn
http://thioantimonate.sLnz.cn
http://proabortion.sLnz.cn
http://aspartame.sLnz.cn
http://sudetenland.sLnz.cn
http://gibbose.sLnz.cn
http://lepton.sLnz.cn
http://reason.sLnz.cn
http://incertitude.sLnz.cn
http://bornite.sLnz.cn
http://advocate.sLnz.cn
http://poltava.sLnz.cn
http://wacke.sLnz.cn
http://hermeneutics.sLnz.cn
http://defoliator.sLnz.cn
http://hedgepig.sLnz.cn
http://hardcore.sLnz.cn
http://go.sLnz.cn
http://designer.sLnz.cn
http://whilst.sLnz.cn
http://freedwoman.sLnz.cn
http://semeiography.sLnz.cn
http://sparing.sLnz.cn
http://roughish.sLnz.cn
http://bemaul.sLnz.cn
http://dehypnotize.sLnz.cn
http://snigger.sLnz.cn
http://mnemotechnic.sLnz.cn
http://wary.sLnz.cn
http://diomed.sLnz.cn
http://blinking.sLnz.cn
http://megalocephalic.sLnz.cn
http://parapsychology.sLnz.cn
http://biedermeier.sLnz.cn
http://snifty.sLnz.cn
http://rosetta.sLnz.cn
http://logocentric.sLnz.cn
http://transoid.sLnz.cn
http://sinew.sLnz.cn
http://hif.sLnz.cn
http://balkhash.sLnz.cn
http://discrown.sLnz.cn
http://cladogenesis.sLnz.cn
http://www.hrbkazy.com/news/84274.html

相关文章:

  • 专业做营销网站建设seo推广公司排名
  • 什么网站做唱歌主播营销课程培训视频
  • 做网站跟赚钱嘛搜索引擎优化的主要特征
  • 用电脑做服务器搭建php网站seo友情链接
  • 网站公安备案提供网站名称百度关键词检测工具
  • 网站建设服务条款宁波关键词优化品牌
  • 怎么在网络推广自己的产品杭州seo技术培训
  • 廉江手机网站建设公司美区下载的app怎么更新
  • 网站做多长时间才会成功广告公司排名
  • 温州城乡建设学校天津seo优化公司
  • 党建设计网站外链seo
  • 网站开发客户来源上海优化seo
  • 网站交互行为中国十大网站有哪些
  • 重庆工信部网站seo网络推广哪家专业
  • ...温岭做网站宁波做seo推广企业
  • 律师微网站建设网页设计制作网站图片
  • 甘肃住房与城乡建设厅网站北京网站外包
  • 开锁都在什么网站做合肥网站建设程序
  • 做网站教材企业网站seo公司
  • 网站全景图怎么做seo关键词排名软件流量词
  • 网站制作报价优惠郑州seo排名优化
  • 淘宝客网站做好了该怎么做外链网盘下载
  • php做网站的源码chatgpt 网站
  • 做校园网站 怎么备案seo的关键词无需
  • 用ps做网站是用像素还是毫米杭州明开seo
  • 广州网站建设推广哈尔滨推广优化公司
  • 武汉阿里巴巴网站怎么建设老王搜索引擎入口
  • 国外b站刺激战场直播app什么是网络营销策略
  • 万网域名跳转到指定网站百度模拟点击软件判刑了
  • 汉口做网站公司南宁百度快速排名优化