啊!你的服务又挂了?

神策小秘书

|

2021年02月26日

Troubleshooting 即故障排查检修,这绝对不是一项简单的任务,不同技术体系之间天差地别,这个问题可有统一答案?因为具体的技术终将过时,所以本文不谈任何具体的技术细节,而是针对 troubleshooting 提出十条方法论。

本文原作者:Steve Mushero

原文链接: https://medium.com/faun/shit-breaks-dao-of-troubleshooting-6cc1b3869ce0

1. 故障无法避免

啊,你的服务又挂了,很不幸。

更不幸的是,因为负载高、业务复杂,它挂掉是常事。

它以一种不能被 “自动扩容”、“加容器”、“重启” 等手段轻易 “解决” 的方式挂掉,花里胡哨的调度系统此时也起不到作用。当然我不是说这些方法没用,毕竟它们各有各的场景。 有时候,你面对一个故障,5 分钟就能定位原因,但作为 “老兵” 的你一定懂得这背后需要多少经验积累和努力,常言道 “功夫都在戏外”。 如果你恰好用了微服务(micro-service)、无服务器(server-less)、无限可分割(infinitely-divisible)、无处不在的松散连接组件(loosely-connected pieces and parts)之类的新玩意,修复起来就更难了。 何解?具体技术早晚会过时,而方法论则具备长久生命力。唯有 “道”(指方法论)才是应对复杂系统的指路明灯。 管你喜不喜欢,真正运行着的系统就是一切真相的源头。