核心问题

为什么局部合理会产生整体问题?

复杂系统的风险常常不是来自单点错误,而是来自局部合理行为的组合。

工程例子

  • 每个团队局部优化,整体架构变乱。
  • 每个服务缓存自己的数据,整体一致性变差。
  • 每个指标都提升,用户体验下降。
  • 每个模块都简单,整体复杂。
  • 每个团队都加 feature flag,配置爆炸。

小结

看系统时,不只看局部是否合理,也要看局部之间组合出了什么。