首页 > 教育资讯

什么是混沌工程?

发布时间:2024-03-22 05:50:29 | 魔幻网

小编今天整理了一些什么是混沌工程?相关内容,希望能够帮到大家。

本文目录一览:

什么是混沌工程?

混沌工程的原则

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

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

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

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

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

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

实践中的混沌

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

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

高级原则

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

围绕稳态行为建立假设

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

改变现实世界的事件

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

在生产环境中运行试验

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

自动化实验以便持续运行

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

最小化爆炸半径

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

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

Principles Chaos Engineering

混沌工程的原则

什么是混沌工程?

什么是混沌工程?

混沌工程是在 分布式系统 上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能力以及信心。

混沌工程,是一种提高技术架构弹性能力的复杂技术手段,旨在将故障扼杀在襁褓之中,也就是在故障造成中断之前将它们识别出来。通过主动制造故障。

测试系统在各种压力下的行为,识别并修复故障问题,避免造成严重后果。

混沌工程和故障注入、传统测试的区别:

两者本质上是 思维方式 的不同。

1、故障注入首先要知道会发生什么故障,然后一个一个注入,然而在复杂分布式系统中,想要穷举所有可能的故障,本身就是奢望。

2、传统测试,旨在给定一个特定的条件,系统会输出一个特定的二元结果,它仅仅是对已知的系统属性可能的取值进行测验。

3、混沌工程的思维方式是主动去找故障,是探索性的。虽然按计划做好了降级预案,但是关闭节点时却引发了上游服务故障,进而引发雪崩,这不是靠故障注入或预先计划能发现的。

4、混沌工程,旨在帮助我们获得更多的关于系统的新认知的实验方法,而且通常还能开辟出一个更广袤的对复杂系统的认知空间。 魔幻网

5、混沌工程实验的可能性是无限的,根据不同的分布式系统架构和不同的核心业务价值,实验可以千变万化。

什么是混沌工程?

混沌大学最好的课程是什么?

混沌最受欢迎的三节课《第一性原理》《第二曲线》《理念世界》入坑必备,个人最喜欢《第一性原理》真的很受用,能够帮助你找到属于你自己的内在原动力和创造力。而且据悉,混沌大学以第一性原理为核心,拍了首支青年纪录片《寻找1》最近刷屏了,纪录片从不同领域当中的年轻人的视角出发,讲述了他们为人生奋斗和创造的内在力量,这种力量就是“1”。

以上就是魔幻网小编为大家带来的内容了,想要了解更多相关信息,请关注魔幻网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“什么是混沌工程?”相关推荐
热点推荐