本系列文章的目标,是将混沌工程作为一个入口,窥探整个分布式系统。
混沌工程之ChaosBlade(一):建立混沌工程思想
混沌工程之ChaosBlade(二):原理深度剖析
一、混沌工程是什么
《混沌工程:Netflix系统稳定性之道》一书中,混沌工程的原则是这样阐述的:
混沌工程是一门新兴的技术学科,它的初衷是通过实验性的方法,让人们建立复杂分布式系统能够在生产中抵御突发事件能力的信心。
混沌工程的目标是在上线前发现系统隐患并着手解决,避免出现线上问题,万一出问题也在可控范围内。
二、为什么需要混沌工程
在节点真正宕机前,我们并不知道一个节点宕机后系统会发生什么。
k8s环境中,系统会检测到节点不可用,然后触发替换机制吗?之前节点上的pod及相关数据,会不会被正常传输到替换后的节点,整个过程耗时是否可接受?…在这些方面我们似乎有一个隐约的概念,在测试边缘徘徊,但没有一套理论支撑实践。
混沌工程可以模拟以下故障:
- 节点宕机
- 一段时间内网络延迟、丢包
- 域名被篡改,导致下载镜像失败
- 方法级别的混沌(