几个重要的点:

①leader肯定会挂

②服务不可用

③不可靠的集群

④in fact,zk集群极其高可用

⑤可以快速恢复一个leader

zookeeper中有两种运行状态:

①可用状态

②不可用状态

③不可用状态恢复到可用状态时间越短越好

zookeeper的主从模型,只有一个主节点,而且只有主节点负责写,从节点的写操作必须发给主节点来完成。

①顺序一致性:客户端发过来的更新请求将按顺序执行。

②原子性:更新要么都成功,要么都失败。没有其他状态。只有leader主节点写成功之后再复制给其他follower从节点。

③单系统映像:无论客户端连接到哪个zk节点,客户端都将看到相同的服务视图。

④可靠性:一旦应用进行了更新,它将从那时起持续到客户端覆盖更新。因为进行了持久化才能这么搞。

⑤实时性:系统的客户视图保证在特定时间范围内是最新的。

zookeeper选择新领导者的时间不到200毫秒

zookeeper很快:它在“读取主导”的工作负载中特别快,并且在读取比写入更常见的情况下表现更加

(redis单节点一秒钟大概能hold住10w左右的并发)

如下图所述,zk集群只有3个节点时能hold住8w左右,13个节点能hold住14w左右请求。

zookeeper是一个目录树结构,zk中任意节点均可存放数据,但存的数据量比较小,只有1M。

这点有别于文件系统,因为文件夹是不能存放数据的,只能存放文件夹和文件。

所以,不要把zookeeper当做数据库用。为了保证快,必须要保证所有节点传输数据时数据体量越小越好。不要让zookeeper写的比例过大,读多写少,性能才更优。

zookeeper中的节点:

①持久节点

②临时节点

每个客户端连接到zk节点时会产生一个session来代替该客户端,就是一次会话,连接断开时会话销毁。

zookeeper宏观认识相关推荐

  1. 一文入门 Zookeeper

    文章目录 1. zookeeper 简介 1.1 什么是zookeeper 1.2 zookeeper 发展历史 1.3 zookeeper 典型应用场景 1.4 zookeeper 提供的服务 1. ...

  2. ZooKeeper官方文档学习笔记05-ZooKeeper的屏障(Barrier)和队列(Queue)教程

    开篇碎碎念:不要试图用断点,或者你断点位置要放好,不然你就会收获许多连接异常.这绝对是我目前翻译过的最流畅的.咳,不是官网流畅,是我笔记流畅,也许是我成长了.(屏障就是人齐开饭,都吃完散场.然后队列是 ...

  3. 大数据开发超高频面试题!大厂面试必看!包含Hadoop、zookeeper、Hive、flume、kafka、Hbase、flink、spark、数仓等

    大数据开发面试题 包含Hadoop.zookeeper.Hive.flume.kafka.Hbase.flink.spark.数仓等高频面试题. 数据来自原博主爬虫获取! 文章目录 大数据开发面试题 ...

  4. ZooKeeper原理和实践

    1. 什么是ZooKeeper ZooKeeper最早起源于雅虎研究院的一个研究小组.在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分 ...

  5. Zookeeper——Watcher原理详解

    文章目录 引言 正文 一.如何注册监听 二.如何触发监听事件 三.事件类型有哪些 四.Watcher可以被无限次触发么?为什么要这么设计? 五.Watcher实现原理 1. 客服端发送请求 a. 初始 ...

  6. 一文助你快速理解ZooKeeper

    来源 | 编程新说 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 边界的产生与突破 不觉间孩子已经上小学了,前段时间还参加了一次家长会,那就以学校和开会来说吧,这大家都很 ...

  7. 基于 Kafka 和 ZooKeeper 的分布式消息队列原理

    转载:https://gitbook.cn/books/5bc446269a9adf54c7ccb8bc/index.html 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 ...

  8. 再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理

    关于分布式消息队列,我在几个月前写过一篇文章:<深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列 >.最近,由于写作课程<分布式中间件实践之路>的契机,我 ...

  9. 深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列

    https://gitbook.cn/books/5ae1e77197c22f130e67ec4e/index.html 向作者提问 毕业于 C9 高校,硕士学历,曾在 IEEE ITS.VSD 等 ...

最新文章

  1. 2020 IEEE冯诺依曼奖得主:Michael Jordan --机器学习领域泰斗级人物
  2. linux计划任务作业
  3. hive的用户和用户权限
  4. Android GridView的使用方法
  5. Hibernate之映射
  6. Java中的安全加密
  7. Java中抽象类和接口在概念、语法和应用上的区别和关系
  8. 前端学习(1857)vue之电商管理系统电商系统之配置api接口服务器并用postman调试接口
  9. rpmbuild FILE
  10. toad dba suite for oracle 12,Toad DBA Suite 和Toad Development Suite的区别
  11. 专访余承东:华为引领行业进步 折叠屏手机即将上市
  12. python 3.8.0安卓_Python 3.8.0 正式版发布,新特性初体验
  13. 为什么要有事件循环机制(Event Loop)
  14. 16S多样性组成谱研究,9.13分的Water Research轻松二连发!
  15. 拉肚子差评回复模板_吃了拉肚子的差评怎么回复?
  16. android 后台录制视频,Android实现视频录制
  17. heigh,clientHeight , scrollHeight , offsetHeight介绍
  18. Intel VT学习笔记(三)—— VMCS(上)
  19. Mysql出现问题:什么是prepare语句解决方案
  20. mysql workbench crows foot_一步一步设计你的数据库(三)

热门文章

  1. 【论文解读】ICLR 2021丨当梯度提升遇到图神经网络,“鱼和熊掌”皆可兼得
  2. 深度学习笔记 第五门课 序列模型 第三周 序列模型和注意力机制
  3. Transformer在图像复原领域的降维打击,ETH提出SwinIR:各项任务全面领先
  4. 即时通讯音视频开发(二):视频编解码之数字视频介绍
  5. Wireshark对HTTPS数据的解密
  6. 氧气中国·创业创新大赛企业服务专场
  7. python+xlrd+echarts数据可视化demo
  8. 我的随笔---高亮规范
  9. Alpha冲刺随笔集
  10. 初识 Vue(18)---(非父子组件间的传值)