混沌工程稳态假说
混沌工程旨在帮助建立对系统在面对各种复杂的故障状况下的信心,帮助发现系统薄弱点。一种操作方法是直接引入各种混乱状况,比如破坏网络、引入延迟等,然后看看哪里会崩溃。然而混沌工程是一种科学的稳定性建设方案,目的是发现系统薄弱点,而非简单的测试工程。
1 何为稳态假说?
所谓假说,即指按照预先设定,对某种现象进行的解释,即根据已知的事实和原理,提出的推测和说明,而且数据经过详细的分类、归纳与分析,得到一个暂时性但是可以被接受的解释。而稳态假说,即为根据系统设计细节分析出的系统在面对某种非预期的故障干扰时,系统的业务功能不受影响或者系统做出的一些特定行为。比如,系统在面对 Kafka 集群的一个 Broker 节点异常宕机的异常情况时,系统的业务不受影响。
2 稳态假说集
假说可以从过往的系统故障中去收集,也可以从系统设计本身去分析收集,一系列假说就构成了这个系统的稳态假说集。为了使得系统的韧性不断加强,假说集当中的假说都理论都应该被验证,但是我们永远无法将故障一网打尽,所以假说集会越来越大,每个假说都去验证也不现实,所以这里就需要进行假说评估,选择有价值的假说进行验证。
3 假说验证待办集
从稳态假说集中筛选出的有价值,值得进行进行验证的假说集合称为假说验证待办集。里面的假说都可以作为混沌工程实验的目标假说,开展混沌工程实验。如何从稳态假说集中选出待办集,可以从故障发生概率以及故障对系统的影响两个维度进行分析。
腾讯云的混沌工程
腾讯云混沌演练平台(CFG)也正是基于上述背景而诞生,汇集各行业成功案例和最佳实践,提供宝贵经验,提供模拟 IaaS、PaaS、SaaS 近百种故障注入场景。
评论