
18
|
第
1
章
•
相关性检测会关联几乎无限量的维度。
最后一点很重要,因为它描述了思考现代系统架构的复杂性所需的综合知识已经超越了
一个人可以合理思考的相关知识极限。在发现性能问题背后的潜在相关性方面涉及如此
多的可能性,以至于没有人类大脑可以容纳这些知识。
通过可观测性,比较高维度和高基数的数据才可能成为发现埋藏在复杂系统架构中其他
隐藏问题的关键组成部分。
1.5 使用指标进行调试与使用可观测性进行调试
的对比
当系统复杂性超过了临界点,就不可能再将系统模型放入你的大脑缓存中。当试图通过
对它的各种组件进行推理时,你的思维模式可能已经过时了。
工程师可能习惯于通过直觉进行调试。要找到问题的根源,你可能会根据直觉甚至使用
很久以前的设置中断等方式来调试。然而,过去的这些方式在这个世界上已不再适用。
只有当遇到的大多数问题都是过去曾遇到过的问题时,直觉方法才会起作用
注
3
。
1
类似地,基于指标的监控方法依赖于在过去遇到的已知故障模式。监控有助于检测系统
何时超过或低于预先认为异常的可预测阈值。但是,如果出现了完全无法预知的某些异
常呢?
从历史上看,软件工程师遇到的大多数问题都是一些可预测的故障。也许你不知道软件
会以何种方式出现故障,但如果对相关情况及其组件进行推理,那么发现一个新的错误
或故障根因并不需要逻辑上的跳跃。大多数软件开发人员很少遇到真正不可预测的逻辑
跳跃,因为他们通常不需要面对这一类复杂性的情况(到目前为止,开发人员的大多数
复杂性都被锁定在单体应用中)。
每个应用程序都有其固有的不可减少的复杂性