什么是混沌工程?
混沌工程学是在系统上进行实验的学科,目的是建立对系统承受生产中动荡环境能力的信心。
大规模,分布式软件系统的进步正在改变软件工程的局面。作为一个行业,我们迅速采用可以提高开发灵活性和部署速度的实践。紧接着这些好处之后,紧迫的问题随之而来:我们对投入生产的复杂系统有多少信心?
即使分布式系统中的所有单个服务都正常运行,这些服务之间的交互也会导致不可预测的结果。不可预测的结果,加上影响生产环境的罕见但破坏性的现实世界事件,使这些分布式系统固有地混乱。
我们需要先确定弱点,然后才能在系统范围的异常行为中体现出来。系统缺陷可以表现为:当服务不可用时,回退设置不正确;重试超时错误的风暴;当下游依赖性接收到过多流量时中断;单点故障崩溃时的级联故障;等。我们必须主动解决最重要的弱点,以免影响生产中的客户。我们需要一种方法来管理这些系统中固有的混乱,利用增加的灵活性和速度,并且尽管其表示复杂性,但对我们的生产部署充满信心。
一种基于经验的,基于系统的方法可以大规模解决分布式系统中的混乱情况,并增强人们对这些系统承受现实条件的能力的信心。我们通过在受控实验中观察分布式系统的行为来了解它的行为。我们称此为混沌工程。
来自: https://principlesofchaos.org/
Design with love © Tanahcon 2019. All right reserved. Privacy Policy