《Zookeeper-分布式过程系统技术详解》第一部分基础概念笔记学习

2023-11-10

1.Zookeep的客户端API功能强大,其中包括:

  1. 保障强一致性、有序性和持久性.
  2. 实现通用的同步原语的能力。
  3. 在实际分布式系统中,并发往往导致不正确的行为。ZooKeeper提供了一种简单的并发处理机制。

2.ZooKeeper不适用的场景
整个ZooKeeper的服务器集群管理着应用协作的关键数据。ZooKeeper不适合用作海量数据存储.
最佳实践还是应该将应用数据和协同数据独立开.
3.分布式系统的定义为:

分布式系统是同时跨越多个物理主机,独立运行的多个软件组件所组成的系统我们采用分布式去设计系统有很多原因,分布式系统能够利用多处理器的运算能力来运行组件,比如并行复制任务。一个系统也许由于战略原因,需要分布在不同地点,比如一个应用由多个不同地点的服务器提供服务

4.在真实的系统中,我们需要特别注意以下问题:

  • 消息延迟

消息传输可能会发生任意延迟,比如,因为网络拥堵。这种任意延迟可能会导致不可预期的后果。比如,根据基准时钟,进程P先发送了一个消息,之后另一个进程Q发送了消息,但是进程Q的消息也许会先完成传送。

  • 处理器性能

操作系统的调度和超载也可能导致消息处理的任意延迟。当一个进程向另一个进程发送消息时,整个消息的延时时间约等于发送端消耗的时间、传输时间、接收端的处理时间的总和。如果发送或接收过程需要调度时间进行处理,消息延时会更高。

  • 始终偏移

使用时间概念的系统并不少见,比如,确定某一时间系统中发生了哪些事件。处理器时钟并不可靠,它们之间也会发生任意的偏移。因此,依赖处理器时钟也许会导致错误的决策。
5.要实现主-从模式的系统,我们必须解决以下三个关键问题

  • 主节点崩溃

如果主节点发送错误并失效,系统将无法分配新的任务或重新分配已失败的任务。

  • 从节点崩溃

如果从节点崩溃,已分配的任务将无法完成。

  • 通信故障

如果主节点和从节点之间无法进行信息交换,从节点将无法得知新任务分配给它。

6.ZooKeeper的设计尽可能满足一致性和可用性,当然,在发生网络分区时ZooKeeper也提供了只读能力。

以上内容本文摘录Zookeeper-分布式过程系统技术详解 书中的内容学习.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Zookeeper-分布式过程系统技术详解》第一部分基础概念笔记学习 的相关文章

随机推荐

  • 彻底删除mac上的Win10分区

    背景 之前在优胜美地上用boot camp装的win10 后来升级到ei capitan了 问题 今天试着用boot camp移除windows 点继续就报错 说不能什么什么 然后用disk工具直接擦除了win10的分区并改为hfs分区 结
  • One stage&Two stage

    One stage Two stage 双阶段 单阶段 双阶段 单阶段 引文
  • 最热门的9个超级SEX问题

    无从选择 女人的身体被造物设计成传宗接代的载体 而SEX就是当初那只引诱我们上钩的苹果 不会忘记新生命诞生时 那场撕裂心肺的痛 那是女人完成自己使命的另类礼赞 那个曾经代表忠贞 圣洁的标签 被男人心怀窃喜地撕下 并据为己有 女人从此无法原价
  • Spring Boot中内置Tomcat最大连接数、线程数与等待数 实践调优

    在 Spring Boot 框架中 我们使用最多的是Tomcat 这是 Spring Boot 默认的容器技术 而且是内嵌式的 Tomcat Tomcat 是 Apache 基金下的一个轻量级的Servlet 容 器 支 持 Servlet
  • 离散型随机变量及其分布律(五)

    有些随机变量值是有限 它全部可能取到的个或可列无限多个 这种随机变量称为离散型随机变量 三种重要的离散型随机变量
  • [转载].一直不怎么明白PID的运算输出结果怎么换算成执行机构的控制量

    http bbs 21ic com icview 50831 1 1 html 小明接到这样一个任务 有一个水缸点漏水 而且漏水的速度还不一定固定不变 要求水面高度维持在某个位置 一旦发现水面高度低于要求位置 就要往水缸里加水 小明接到任务
  • 计算机系统概述

    操作系统的概念 功能 操作系统 Operating System OS 是指控制和管理整个计算机系统的硬件和软件资源 并合理地组织调度计算机的工作和资源的分配 以提供用户和其他软件方便的接口和环境 它说计算机系统中最基本的系统软件 操作系统
  • anaconda添加python虚拟环境

    先将anaconda的源更换为国内源 否则下载很慢 conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs free conda config a
  • feigin应用

    feigin发送post请求 1 服务方一定加上 RequestBody RequestMapping value queryPerson ResponseBody public Person queryPerson RequestBody
  • 如何快速上手一款新的嵌入式CPU芯片(记录CC2540开发经历)

    新换了工作 需要熟悉新公司的产品开发项目 更新博客就懈怠了 不过环境的不同 也让我对嵌入式开发有了更深刻的理解 在原公司我主要负责在STM32F207芯片平台上 利用UCOS LWIP进行嵌入式服务器开发 工作涉及底层硬件 RTOS 协议栈
  • Linux内核源码分析-进程调度(三)-从进程创建到唤醒的过程去了解CFS调度器

    从进程创建到唤醒的过程去了解CFS调度器 从do fork开始 创建子进程 初始化新建进程p相关的调度参数 cfs的task fork操作 更新cfs rq上正在运行的进程的运行时间信息 更新cfs rq的最小虚拟运行时间 更新进程p对应的
  • redis学习笔记

    概述 redis可以当作缓存来使用 存在内存里 比读数据库更快 但是比从内存变量里取数据还是要慢不少的 redis sql 内存变量的对比 按存取速度来看 内存变量最快 sql最慢 但按照持久化的角度来说正好相反 各有优缺点 按需选择使用
  • 加法乘法原理、排列组合、线性规划

    排列组合 1 加法原理与乘法原理 加法原理 分类思想 一个事件的发生 分为几类事件的发生 通俗的说是好几种情况的发生 乘法原理 分步思想 一个事件的发生 分为几个子事件分步发生 这里要注意 1 子事件 如何把事件划分为几个子事件呢 子事件是
  • dlopen “no suitable image found ”问题之解决

    做一个练手小项目 基于 react transform boilerplate 的demo 克隆 react transform boilerplate项目 装包 package json中的包 style loader css loade
  • 并发、并行、同步、异步的概念

    并发与并行 假设一个工厂 包含多个车间 一个车间包含多个工人和多个房间 什么是cpu 工厂是时刻在运行的 因此可以理解cpu时刻在运行 什么cpu的核数 假设把一个cpu比作一份电量的话 一份电量又只能满足一个车间运行 那么其他车间就得停止
  • 使用python写一个星球大战游戏.py

    如果要使用 Python 写一个类似于星球大战的游戏 需要用到一些专业的游戏引擎 比如 Pygame 首先 需要安装 Pygame 库 可以使用以下命令进行安装 pipinstall pygame 其次 可以在 Pygame 中使用 pyt
  • 网络安全人才青黄不接、数字化转型迫在眉睫、你还在犹豫吗?

    大专能不能学网络安全呢 大专学网络安全能不能找到工作呢 大专学网络安全有竞争力吗 网络上关于质疑大专学历进入网络安全行业的声音越来越多了 居然有很多人在质疑大专学历从事网络安全没有竞争力 很多人看到某些招聘软件上起薪12K的薪资就望而却步了
  • Linux文件管理

    成功不易 加倍努力 1 文件系统目录结构 1 1文件系统的目录结构 1 2 常见的文件系统目录功能 1 3 应用程序的组成部分 1 4 Linux下的文件类型 2 文件操作命令 2 1 显示当前工作目录 2 2 绝对和相对路径 2 3 更改
  • Nano编辑器安装使用指南

    关于nano Nano编辑器是一个命令行文本编辑器 具有简单易用的界面和一些基本功能 Nano小巧友好 提供许多额外的特性 例如交互式的查找和替换 定位到指定的行列 自动缩进 特性切换 国际化支持 文件名标记完成等 Nano是为了代替闭源的
  • 《Zookeeper-分布式过程系统技术详解》第一部分基础概念笔记学习

    1 Zookeep的客户端API功能强大 其中包括 保障强一致性 有序性和持久性 实现通用的同步原语的能力 在实际分布式系统中 并发往往导致不正确的行为 ZooKeeper提供了一种简单的并发处理机制 2 ZooKeeper不适用的场景 整