混沌工程的原则

混沌工程的原则

混沌工程是为了建立对于系统在混乱极端环境条件下的承受能力的信心,从而在系统中进行科学实验的学科。最早由Netflix提出并实践。

大规模分布式软件系统的实践和发展正在改变传统软件工程的行业规则。大规模分布式软件系统不同于以往的传统软件工程,其已经采取新的能增加和提高软件开发灵活性和系统部署速度的方法论和实践。但在采取这些方法论和实践之后,一个紧迫的问题随之而来:我们对投入生产的复杂系统有多大的信心?

即使分布式系统中的所有单个服务(单体或者微服务)都正常运行,这些服务之间的交互也可能导致不可预测的结果。这些不可预测的结果再加上影响生产环境的低概率但高破坏性的偶发性事件,使分布式系统在本质上是来看是混乱的。

我们需要将这些弱点在其发展成为系统级别的反常行为之前识别出来。系统级别的弱点可能表现出以下形式:

系统不可用时的不合理的回退设置。

不合理系统请求超时配置导致的重试风暴。

下游系统接收到太多流量导致的宕机。

单点故障级联到系统级别的崩溃,等等。

我们必须积极主动的在其影响到生系统之前解决掉这些最重要的弱点。这时我们需要一种全新的方法和实践来管理这些系统中固有的混乱,利用开发和部署中不断提高的灵活性和敏捷,建立起对于复杂系统在生产部署的信心。

作为一种基于系统级别的实证方法论,用于解决大规模分布式系统中的混乱,建立起复杂系统在混乱极端环境条件下的承受能力的信心。我们通过在对照实验中观察分布式系统的行为表现来了解他们。我们称之为混沌工程。

实践中的混沌

为了具体解决分布式系统的不确定性,混沌工程可以被认为是通过利用实验来发现系统弱点。这些实验遵循四个步骤:

首先将"稳态"定义为指示正常行为的系统的某些可测量输出。

假设这种稳定状态将在对照组和实验组中继续存在。

引入反映真实世界事件变量,如服务器崩溃、硬盘驱动器故障、网络连接断开等。

尝试通过寻找对照组和实验组之间的稳态差异来反驳假设。

破坏稳定状态越难,我们对系统行为的信心就越大。反之,每发现一个弱点,也就有了一个需要改进的目标,在这个弱点在整个生产系统中表现出来之前处理掉。

高级原则

以下原则描述了混沌工程的理想应用场景,应用于上述的实验过程。对于这些原则的接受和实践应用程度与我们对于分布式系统的信心建立密切相关。

围绕稳态行为建立假设

专注于系统的可衡量输出,而不是系统的内部属性。在短时间内利用输出的测量值构建成系统稳定状态的描述指标。整个系统的吞吐量、错误率、延迟百分比等都可以是表示稳态行为的相关指标。通过在实验期间关注系统行为模式,混沌验证系统是否能正常工作,而不是试图验证它是如何工作的。

改变现实世界的事件

混沌变量反映了现实世界的事件。按潜在影响或估计频率确定事件的优先级。考虑硬件故障(如服务器死亡)、软件故障(如格式错误的响应)以及非故障事件(如流量峰值或扩展事件)对应的事件。任何能够破坏稳态的事件都是混沌实验中的潜在变量。

在生产环境中运行试验

系统的行为因环境和流量模式不同而有所不同。由于系统服务的使用行为可以随时改变,因此对实际流量进行采样是能可靠地捕获请求路径的唯一方法。为了保证系统运行方式的真实性以及与当前部署系统的相关性,混沌工程强烈倾向于直接在生产流量上进行实验。

自动化实验以便持续运行

手动运行实验是劳动密集型的,最终是不可持续的。自动执行实验并持续运行。混沌工程需要自动化构建到系统中,以推动编排和分析。

最小化爆炸半径

在生产中进行试验可能会给客户带来不必要的痛苦。虽然必须考虑到一些短期的负面影响,但混沌工程师的责任和义务是确保实验的影响最小化并得到控制。

混沌工程是一种强大的实践,它已经改变了世界上一些最大规模运营的软件设计和工程方式。在其他实践需要解决速度和灵活性的地方,混沌工程用于专门解决这些分布式系统中的系统不确定性。混沌原理为大规模快速创新提供了信心,并提高了客户的体验。

Principles Chaos Engineering

混沌工程的原则

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容