混沌工程
混沌工程(Chaos Engineering)是在分布式系统上进行实验的学科,是一种未雨绸缪的心态。由薄弱的环节上,做到自我发现。特点是放置一个炸弹进去,控制爆炸半径评估损伤和自我修复能力。
Netflix提出Chaos Monkey
混沌原则
在开发混沌工程实验时,可遵循以下原则,将有助于实验设计︰
- 建立稳定状态的假设;
- 持续自动化运行实验;
- 多样化现实世界事件;
- 最小化“爆炸半径”
- 在生产环境运行实验;
识别业务系统的稳定性指标,并建立观测体系(监控)
最小化爆炸半径
- 按照影响从小到大进行演练
- 控制演练业务的故障半径(称为爆炸半径),防止从演练转化为线上事故
在真实生产环境演练
- 最终要在生产环境中演练,这才是最真实的结果
- 但可以从非在线开始,逐步进行到线上环境
例行化演练
- 因为业务系统也是在持续变化的,因此需要例行化、自动化进行演练
模拟现实中真实会发生的故障