粗看标题你可能感觉莫名其妙,什么「捣乱的猴子」,还要放开。不急,且听我说说为什么不光要放开这些捣乱的猴子,还要欢迎他们。
0.背景信息
在构建高可用性软件架构领域,有个词叫「混沌工程」,对应的英文是ChaosEngineering,通过Chaos的测试,可以发现系统的潜在风险,特别对于分布式系统,找出脆弱的地方进行增强,提升可用性,避免系统间级联影响。
混沌工程是在分布式系统上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能力以及信心。
大规模分布式软件系统的发展正在改变软件工程。作为一个行业,我们很快采用了提高开发灵活性和部署速度的实践。紧随着这些优点的一个迫切问题是:我们对投入生产的复杂系统有多少信心?
即使分布式系统中的所有单个服务都正常运行,这些服务之间的交互也会导致不可预知的结果。这些不可预知的结果,由影响生产环境的罕见且破坏性的事件复合而成,令这些分布式系统存在内在的混沌。