《混沌工程》图文案例解释

简介: 《混沌工程》图文案例解释

混沌工程的发展简史


2008年8月, Netflix 主要数据库的故障导致了三天的停机, DVD 租赁业务中断,多个国家的大量用户受此影响。之后 Netflix 工程师着手寻找替代架构,并在2011年起,逐步将系统迁移到 AWS 上,运行基于微服务的新型分布式架构。这种架构消除了单点故障,但也引入了新的复杂性类型,需要更加可靠和容错的系统。为此, Netflix 工程师创建了 Chaos Monkey ,会随机终止在生产环境中运行的 EC2 实例。工程师可以快速了解他们正在构建的服务是否健壮,有足够的弹性,可以容忍计划外的故障。至此,混沌工程开始兴起。


image.png

【来源火龙果】


本文案例内容来源于OREILY出版的《混沌工程》侯杰翻译的中文版P41


image.png


1)APP访问用户信息A 服务,A服务向E服务请求个性化服务。


image.png


2)由于A服务非常繁忙,所以交由A1…An散列集群来处理

image.png


3)Smith用户向A服务发起请求,由于断网,而他不知道,所以积累了多个请求在队列中进行排队

image.png


4)网通了,这些请求都发向了A服务,Smith被安排在A43虚拟节点上,由于大量的请求造成A43十分繁忙

image.png


5)Smith一直没有收到请求,就从本地的缓存中返回用户,使得A43向E服务发起请求后就变得非常空闲了。

image.png


6)由于A43变得非常空闲,被系统收回,Smith用户的请求改为A56接受


image.png


7)由于A43被收回,所以E响应延迟,向A发送不带个性化的信息,A把收到的不带个性化的信息发送给所有用户

image.png


所有用户由于收到不带个性化的信息,所以多次发送大量的重复请求,把服务A搞趴下


“牛鞭效应”是经济学上的一个术语,指供应链上的一种需求变异放大现象,使信息流从最终客户端向原始供应商端传递时,无法有效地实现信息共享,使得信息扭曲而逐级放大,导致了需求信息出现越来越大的波动,此信息扭曲的放大作用在图形上很像一个甩起的牛鞭,因此被形象地称为牛鞭效应。

目录
相关文章
|
机器学习/深度学习 编解码 算法
超详细!手把手带你轻松掌握 MMDetection 整体构建流程(一)
作为系列文章的第一篇解读,本文主要是从整体框架构建角度来解析,不会涉及到具体算法和代码,希望通过本文讲解: - MMDetection 整体构建流程和思想 - 目标检测算法核心组件划分 - 目标检测核心组件功能
816 0
超详细!手把手带你轻松掌握 MMDetection 整体构建流程(一)
|
1月前
|
机器学习/深度学习 人工智能 文字识别
|
1月前
|
机器学习/深度学习 JSON 自然语言处理
python自动化标注工具+自定义目标P图替换+深度学习大模型(代码+教程+告别手动标注)
python自动化标注工具+自定义目标P图替换+深度学习大模型(代码+教程+告别手动标注)
55 0
|
10月前
提升工程2.0作业完成指导:A3.演示文稿设计与制作
今天,给大家带来的是被多数学校选择的:A3.演示文稿设计与制作。
90 0
|
1月前
|
SEO
技术写作:漏斗内容策略、认知博客、支柱内容、研究报告、通用门控内容、电子书和教程
顶部漏斗是指客户旅程中的认知阶段,他们第一次接触到企业或产品。在这个阶段,他们意识到自己存在问题,并开始寻找信息或解决方案。此阶段的内容旨在通过提供与他们的问题相关的解决方案或有价值的信息来吸引潜在客户的注意力和兴趣。这种内容通常是广泛而丰富的,而不是针对产品的。其目的是在建立信任和品牌权威的同时,告知和教育受众。
81 5
|
6月前
|
存储 JSON 搜索推荐
【测试平台系列】第一章 手撸压力机(十二)-初步实现提取功能
上一章节,我们主要实现了基础的并发测试场景的能力。本章节,我们实现一下,如何对响应进行提取,使用正则/json对响应信息提取,并赋值给我们定义的变量。
|
Dubbo Java 应用服务中间件
无论多忙,都要掌握混沌工程入门方法
无论多忙,都要掌握混沌工程入门方法
|
设计模式 前端开发 搜索推荐
工程设计论——如何写好工程代码
在进行工程设计的过程中,对于认知和计算的交替流程,我们总结了一套行之有效的经验,即对需求的拆分和组合。
560 1
工程设计论——如何写好工程代码
|
机器学习/深度学习 分布式计算 算法
PGL图学习项目合集&数据集分享&技术归纳业务落地技巧[系列十]
本项目对PGL图学习系列项目进行整合方便大家后续学习,同时对图学习相关技术和业务落地侧进行归纳总结,以及对图网络开放数据集很多学者和机构发布了许多与图相关的任务。
|
安全 API Apache
【翻译】正向数据工程和逆向数据工程(Prefect工作流)
你好,我们的团队很非常激动地宣布Prefect的到来,这是一个用于构建健壮的数据应用程序的开源框架。Prefect的灵感来自观察数据工程师和数据科学家之间的矛盾,并通过用定义和执行数据工作流的功能性API解决了这些问题。