分布式观测性(Distributed Observability)是现代微服务架构的基石。它通过收集、处理和分析系统的运行数据,帮助开发者理解复杂系统的内部状态,实现快速的问题定位与性能优化。
观测性三大支柱
观测性通常由以下三个维度共同构建,它们相辅相成,缺一不可:
| 维度 | 解决的问题 | 核心价值 |
|---|---|---|
| 追踪 (Tracing) | 请求去哪了?为什么慢? | 还原请求在分布式系统中的完整路径。 |
| 指标 (Metrics) | 系统当前状态如何? | 聚合后的数值数据,用于趋势分析和实时告警。 |
| 日志 (Logging) | 当时具体发生了什么? | 离散的详细事件记录,用于疑难杂症的最后现场排查。 |
行业标准与演进
随着技术的发展,观测性领域经历了从碎片化到大一统的过程:
- OpenTracing:早期的分布式追踪接口规范,实现了埋点与实现的解耦。
- OpenCensus:由 Google 发起,集成了追踪与指标的 SDK 实现。
- OpenTelemetry:目前的行业终极标准,合并了上述两者,实现了三位一体的观测方案。