House。
如果说脆弱性在计算机世界指的是当受到高并发等其他压力后系统就会变得越来越脆弱甚至崩溃。这里说的这个脆弱性就是fragility这个单词。那么这个脆弱性的反义词是什么呢?
相信很多人会回答说那就是当受到压力时系统依然不脆弱。相信这是我们很多人的第一反应。
然而上面说到的那位Taleb先生却提出了一种全新的观点,就是脆弱性也就是fragility的反义词不是robustness或resilience,而是antifragility 。什么意思呢?就是当收到压力时反倒让系统变得更加的健壮和无敌。
这个观点你听了后是不是想起了那句你熟悉的
困难像弹簧,你强它就强。
抑或是
道高一尺魔高一丈的感觉。
也许都不贴切,我们还是继续看看taleb的观点吧。
一般人类搞的系统都是只要远离病原体就会变得强壮;否则就会变得脆弱。
Taleb的观点是以毒攻毒。就是当越多的暴露在病原体面前反倒更健壮,隔离了反倒变得脆弱。
那么这个是怎么实现的呢?在微服务架构中是如何玩耍的呢?
这里还是拿Netflix举例吧。Netflix有个项目叫Netflix Simian Army 。这个项目中有一个子模块叫:Chaos Monkey。这个module做些什么事情呢?就是时不时随机的往线上环境里边注入一些失败从而来识别其中的脆弱之处然后消除它。
就是通过这种故意注入失败,然后找出脆弱之处,然后修复,随着时间的推移,久而久之系统也就变得越来越强大,安全也自然上了一个台阶。
好了,这就是本期我们要介绍的内容,Chaos Monkey!
你可以在github上找到Chaos Monkey(直接点击啊“原文阅读”可跳转到该项目):