最近在團隊中開展可靠性測試工作,接觸了混沌工程的概念。為了更好開展工作,決定梳理下可用可靠性測試、混沌測試等概念,並看了《混沌工程:Netflix系統穩定性之道》這本書,有了新的認識,於是做下記錄及個人思考總結。
1、混沌工程和測試的區別?
混搭工程和其他測試方法的主要區別在於,混沌工程是發現新信息的實踐過程,而故障注入則是基於一個特定的條件、變量的驗證方法。
混沌工程和故障注入本質上是思維方式上的不同。
故障注入首先要知道會發生什么故障,然后一個一個地注入。或者使用故障模擬工具進行注入,然而在復雜分布式系統中,想要窮舉所有可能的故障,本身就是奢望。
混沌工程的思維方式是主動去找故障,是探索性的,你不知道摘到一個節點,關閉一個服務會發生什么故障,雖然按計划做好了降級預案,但是關閉節點時卻引發了上游服務異常,進而引發雪崩,這不是故障注入或預先計划能發現的。