`

zookeeper学习笔记(一)

阅读更多
  zookeeper在分布式数据库和服务治理平台两个项目中都有用到,现在补一下学习笔记。
1. zookeeper的使用场景:
   1)集中配置管理
      (1)管理员创建一个node节点(可以理解为文件目录),并将配置信息放到这个目录中。
      (2)应用启动后,与zookeeper建立长连接,并利用zookeeperwatch这个node
     (3)管理员修改这个node下配置信息
      (4)zookeeper watch到node发生变化后,推送给应用
   2)集群成员管理
      (1)集群节点启动时,在zookeeper中指定目录下创建一个节点信息
      (2)管理节点监控这个目录信息,当有集群节点变化时,会通知管理节点
   3)分布式锁
      (1) 简单的分布式锁,就是某个节点获取到锁,更改节点状态,其余节点watch这个节点,当这个节点释放锁时,更新这个状态,会通知所有节点。别的节点就可以来获取锁。缺点是获取锁时所有节点同时争抢,浪费资源。
      (2)带序列的临时锁,只有序号最小的节点能够获取到锁。其余节点以此watch比他小的节点。当最小的节点释放锁时,删除自己,比他大1的节点就获取到锁。
   4)并发同步
      (1)并发需要多个节点就绪才能触发: 可以每个节点就绪时,在zookeeper指定path下见一个临时节点,当节点数满足条件时触发。
      (2)并发需要所有任务完成才能继续: 可以在每个节点结束时,在zookeeper指定path下见一个临时节点,当节点数满足条件时触发。
2. zookeeper的工作原理:
   1)zookeeper集群中的每个节点存储相同的数据
   2)Zookeeper启动时,将从实例中选举一个leader(Paxos协议)
   3)Leader负责处理数据更新等操作(Zab协议)
   4)一个更新操作成功,当且仅当大多数Server在内存中成功修改数据。
3. zookeeper集群的角色:
   1)leader 领导者负责进行投票的发起和决议,更新系统状态,处理写请求
   2)Follwer 跟随者用于接收客户端的读写请求并向客户端返回结果,在选主过程中参与投票
   3)Observer 观察者可以接收客户端的读写请求,并将写请求转发给Leader,但Observer节点不参与投票过程,Observer的目的是为了,扩展系统,提高读取速度。
   4)Client 客户端执行读写请求的发起方
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    zookeeper学习笔记

    zookeeper学习笔记

    Zookeeper学习笔记.docx

    Zookeeper学习笔记

    Zookeeper学习笔记

    自己整理的ZooKeeper学习笔记,适合刚刚接触ZooKeeper的人学习

    ZooKeeper学习笔记

    java ZooKeeper学习笔记\ZooKeeper原理、运用

    Zookeeper学习笔记.pdf

    ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:**分布式锁服务**。由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:**...

    zookeeper学习笔记.pptx

    本文适合但不限于软件开发人员阅读。本文档能够使阅读者对zookeeper有一个宏观且全面的了解,内容主要包含zookeeper架构、数据模型、读写及工作原理、典型应用场景、指令汇总等,

    Zookeeper学习资源和笔记(附代码)

    适合初学入门,知识巩固。涵盖安装配置、命令操作、Java API操作、事件监听、分布式锁、集群搭建等知识

    zookeeper完整学习笔记

    - 概述 - 术语 - 分布式应用 - 介绍 - 架构 - 工作流 - Leader选举 - 安装服务 - CLI 操作 - java-api - 动态感知服务器上下线 - 实现Hadoop高可用(Hadoop-HA-High Availability)

    云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-基于ssm的云的学习笔记系统-ssm-java代码

    zookeeper云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-...

    zookeeper一站式学习资料

    zookeeper一站式学习资料包含国内首部Zookeeper从入门到精通+搜索引擎等一条龙学习资料以及视频讲解包含笔记代码资源

    学习笔记--zookeeper

    zookeeper学习,包括zookeeper架构,原理,安装,配置,命令管理,API编程以及可以应用的场景

    java后端学习笔记

    activeMq,rabbitMq,activity工作流,docker,dubbo,netty,rpc,springcloud,zookeeper学习笔记

    zookeeper笔记

    zookeeper原理以及应用笔记学习总结,适合初学者!欢迎下载

    ZooKeeper.pdf

    Zookeeper技术的基础详细学习笔记,总结了Zookeeper的各个知识点,可以用来复习以及对基础知识的巩固,对新人的学习很有帮助。

    hbase学习笔记

    比较详细的HBase学习笔记,精心制作 HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其...

    zookeeper-01.xmind

    zk学习笔记

    1.笔记_zookeeper_

    Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。该文档适合学习者学习zookeeper,结构清晰,层次递增,需要学习者配合xmind软件学习

    Zookeeper集群架构全面实战

    非常强的一套Zookeeper集群实战,包含了全套的学习代码,学习笔记还有学习资料。内容从Zookeeper入门教学,本地安装,Zookeeper集群实战,项目需求,Zookeeper企业面试实战,Zookeeper算法实战,Zookeeper核心源码...

    kafka学习笔记.doc

    1.kafka的基础知识(安装、部署、基础概念,版本) ...4.kafka中的zookeeper 5. kafka如何不丢消息 6.kafka多线程消费 7.kafka重组平衡 8.kafka控制器 9.kafka监控 10.kafka集群部署及调优 11. 代码见《kafka学习代码》

Global site tag (gtag.js) - Google Analytics