首页 > 其他分享 >读发布!设计与部署稳定的分布式系统(第2版)笔记10_自动化和缓慢的响应

读发布!设计与部署稳定的分布式系统(第2版)笔记10_自动化和缓慢的响应

时间:2023-06-24 09:01:50浏览次数:38  
标签:10 自动化 3.1 系统 笔记 响应 3.3 分布式系统 缓慢

1. 工业机器人

1.1. 具有多层防护措施,防止对人员、机器和设施造成损害

1.2. 防护措施能限制机器人的动作和传感器的感知

1.3. 机械臂的旋转范围会远远小于它可以达到的全部运动范围

2. 自动化

2.1. 它更像是工业机器人

2.1.1. 掌握控制层感知系统的当前状态

2.1.2. 将其与期望的状态进行对比

2.1.3. 对系统施加影响,使当前状态进入到期望状态

2.2. 自动化系统并未简单地按照人类管理员的意愿行事

2.2.1. 自动化平台与管理员关于系统预期状态的不同“信念”的冲突,引发了2016年8月11日链接聚合网站Reddit遭遇停机事故

2.2.2. 刻意的手动更改与自动化平台之间的冲突

2.3. 自动化使得管理员能够花费较少的努力进行大量的操作,这就是一个力量倍增器

2.4. 自动化系统面对两套相互冲突的指令时,也会卡壳

2.5. 由自动化所引发的操作,需要花时间才能完成

2.5.1. 这段时间通常会比监控的时间间隔要长,因此请务必考虑到系统需要经过一些延迟后,才能对操作做出响应

3. 控制层

3.1. 控制层中的软件主要管理基础设施和应用程序,而不是直接交付用户功能

3.1.1. 日志记录

3.1.2. 监控

3.1.3. 调度程序

3.1.4. 扩展控制器

3.1.5. 负载均衡器

3.1.6. 配置管理

3.2. 基础设施管理工具可以迅速对系统产生巨大的影响,要在其内部构建限制器和防护措施,防止其快速毁掉整个系统

3.3. 控制层软件中实现类似工业机器人的防护措施

3.3.1. 如果软件观测器显示系统中80%以上的部分不可用,那么与系统出问题相比,软件观测器出问题的可能性更大

3.3.1.1. 被隔离的节点无法正确地感知当前状态

3.3.1.2. 控制系统会感知环境,但它们有可能被愚弄

3.3.2. 运用滞后原则

3.3.2.1. 快速启动机器

3.3.2.2. 要慢慢关机

3.3.2.3. 启动新机器要比关闭旧机器更安全

3.3.3. 当期望状态与观测状态之间的差距很大时,要发出确认信号,这相当于工业机器人上的大型黄色旋转警示灯在报警

3.3.4. 那些消耗资源的系统应该设计成有状态的,从而检测它们是否正在试图启动无限多个实例

3.3.5. 构建减速区域,缓解势能

3.3.5.1. 控制层虽然每秒都能感知到系统已经过载,但它启动一台虚拟机处理负载需要花费5分钟

3.3.5.2. 大量负载依然存在的情况下,要确保控制层不会在5分钟内启动300个虚拟机

4. 缓慢的响应

4.1. 通常由过度的需求引起

4.2. 争着使用已经供不应求的数据库连接,会使响应变慢,进而加剧这种争用,导致恶性循环

4.3. 内存泄漏经常表现为响应缓慢

4.3.1. 内存泄漏会导致垃圾收集器过度运行,从而引发响应缓慢

4.4. 低层级的低效协议会导致网络停顿,从而导致响应缓慢

4.5. 对网站来说,响应缓慢会招致更多的流量

4.5.1. 那些等待页面响应的用户,会频繁地单击重新加载按钮,为已经过载的系统施加更多的流量

4.6. 缓慢的响应会将调用系统和被调用系统中的资源拖得动弹不得

4.6.1. 生成响应较慢比拒绝连接或返回错误更糟

4.7. 缓慢的响应倾向于逐层向上传播,并逐渐导致层叠失效

4.7.1. 一旦陷入响应缓慢,上游系统本身的处理速度也会随之变慢,并且当响应时间超过其自身的超时时间时,会很容易引发稳定性问题

4.8. 快速返回系统失效信息,能使调用方的系统快速完成事务处理,最终成功或是系统失效,取决于应用程序的逻辑

4.9. 让系统具备监控自身性能的能力,就能辨别其何时违背SLA

4.9.1. 系统能跟踪自己的响应情况,那么就可以知道自己何时变慢

4.9.2. 系统平均响应时间超出系统所允许的时间时,可以考虑发送一个即时错误响应

4.9.3. 当平均响应时间超过调用方的超时时间时,应该发送这样的响应

标签:10,自动化,3.1,系统,笔记,响应,3.3,分布式系统,缓慢
From: https://www.cnblogs.com/lying7/p/17500417.html

相关文章

  • 软测笔记2-【五大用例设计方法】
    用例设计方法测试用例:是为测试项目而设计的执行文档->作用:防止漏测,实施测试的标准1、等价类划分法:    在所有测试数据中,具有某种共同特征的数据集合进行划分分类:a.有效等价类:满足需求的数据集合b.无效等价类:不满足需求的数据集合使用步骤:......
  • 软测笔记3-【缺陷】
    缺陷1.缺陷:软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug 2.缺陷的判定标准:a.软件未实现需求(规格)说明书中明确要求的功能(少功能)b.软件实现的功能超出需求(规格)说明书指明的范围(多功能)c.软件出现了需求(规格)说明书中指明不应该出现的错误(功能......
  • 2023年如何选购一部4000元价位的笔记本电脑(附带坑的说明)
    2023年如何选购一部4000元价位的笔记本电脑(附带坑的说明)本文是一个快速指南,不包含选购中涉及的所有知识点,尤其是大量的具体硬件参数,内容主要关注在如何快速抓住自己真正的需求,快速筛选掉不匹配的型号,从而做出适合的选择。背景条件限定:价格限制4000元+;只能在指定的电商购买;......
  • celery笔记七之周期/定时任务及crontab定义
    本文首发于公众号:Hunter后端原文链接:celery笔记七之周期/定时任务及crontab定义periodictask,即为周期,或者定时任务,比如说每天晚上零点零分需要运行一遍某个函数,或者每隔半小时运行一遍该函数,都是这种任务的范畴。在第一篇笔记的时候我们就介绍过celery的组件构成,其中有一个......
  • JAVA笔记
    三元运算符x?y:z如果x==ture,则结果为y,否则结果为zJava中的三元运算符x?y:z可以简化一些if/else语句的书写,其中x是一个布尔表达式,如果x为true,则返回y,否则返回z。该运算符也称为条件运算符或三目运算符,因为它由三个操作数组成。例如,下面的代码使用if/els......
  • TensorFlow10.2 卷积神经网络-卷积神经网络池化层与采样
    ▪Pooling▪upsample▪ReLU我们看一下这个Subsampling层就是这个:这一层起到ReduceDim的作用。1Max/Avgpooling(下采样)keras.layers.MaxPooling2D(pool_size=,strides=,padding='valid',data_format=None)pool_size:池化窗口大小strides:池化步长,默认值等于p......
  • 分布式系统认证方案
    根据选型的分析,决定采用基于token的认证方式,它的优点是:1、适合统一认证的机制,客户端、一方应用、三方应用都遵循一致的认证机制。2、token认证方式对第三方应用接入更适合,因为它更开放,可使用当前有流行的开放协议Oauth2.0、JWT等。3、一般情况服务端无需存储会话信息,减轻了服......
  • [学习笔记] 强连通分量
    一、DFSForest从这张经典图说起:在给定的有向图\(G=(V,E)\)内,遍历这张图,其中边分为\(4\)种:树边(treeedge):黑色的边,每一次从\(u\)访问到一个未访问的节点\(v\),则称\((u,v)\)为树边。返祖边(backedge):红色的边,每一次从\(u\)回溯到一个\(u\)的已经访问的祖......
  • opencv 学习笔记
    1配置环境下载,可以从以下网站下载,国内镜像速度快,此次我选用4.5.4版本OpenCV/opencv_contrib国内快速下载–绕云技术笔记(raoyunsoft.com)下载安装后,记得配置环境变量,主要是程序运行时需要调用的动态库目录,此处使用的是msvc2019选vc15(给vs2017,2019使用) 配置完毕创建vs2......
  • 【js学习笔记二】innerHTML和innerText的使用
     目录前言导语代码部分 运行结果总结前言   我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语......