混沌工程—读后简单概述
混沌工程是什么
混沌工程是一种思维方式,核心就是不断的引入风险变量到系统中,然后暴露系统现在已经存在的问题。
为什么要进行混沌工程
我们已经知道,它能够暴露系统已经存在的风险,那么下一步我们就可以针对问题,去解决,思考解决方案,通过这样的方式不断的提升系统的容错能力和弹性,尤其是针对分布式系统。
如何进行混沌工程
前提
首先,系统已经具备了面对异常场景的弹性能力,不然在我们进行实验的时候,明知道它不具备这样的能力,明知道结果是崩溃,这实验将毫无意义,我们的目的不是刻意的去破坏系统。
其次,对系统具有监控能力,能够监控到系统的指标,为了接近最真实的情况,实验需要尽可能的在生产环境进行,要预防真的把系统搞崩溃,需要将实验产生的崩溃控制在一个最小范围,指标出现问题,要及时停止实验,恢复系统的正常。
设计实验
这是一项具有科学性的实验,所以大致的流程与科学实验是类型的,其中包含:
1、设定假设,确定核心,需要探寻的问题是什么
2、设定实验范围,遵守两个原则,一个是要在生产环境实行计划,另一个是最小化爆炸范围。真把系统弄崩溃了,我们估计也就失业了。
3、识别要监控的指标,设置指标,到达了域值,要即使停止实验
4、与组织沟通,需要告知相关的工程团队,我们要做什么,为什么这么做,在什么时候做。
5、执行实验,最关键一点,盯住指标,即使终止实验,毕竟我们不想失业,哈哈哈。
6、分析实验结果,实验结果要及时的反馈给相关团队,这样他们才能及时修补问题。
7、扩大实验范围,实验范围,由小逐步扩大。
8、自动化实验。在实验成熟后,将它标准化,自动化的去运行,不断的探索将混沌工程的益处最大化。