分布式追踪:从起源到未来的实用之旅
分布式追踪的价值与现状
在当今的开发领域,许多开发者对分布式追踪的认知存在偏差,常将其视为其他工具(如指标和日志聚合工具)失效后的最后手段。这或许是因为追踪作为可观测性的三大“支柱”中最新的一项,很多开发者对其还不够熟悉。自微服务和其他分布式架构被广泛采用后,追踪才逐渐成为重要工具。
然而,分布式追踪能为开发者带来巨大价值。在可观测性工具的评估中,提供上下文、按影响程度进行优先级排序以及自动关联是非常重要的能力。可观测性工具需要具备以下功能:
1. 展示一个服务的性能问题与其他服务行为的关联。
2. 说明服务性能对用户可见性能的影响。
3. 自动识别分布式应用中哪些变化可能是性能问题的根本原因。
这些能力对于优化性能和快速响应事件至关重要,能让开发者更高效地跨团队沟通。
但仅仅在现有可观测性工具之上叠加分布式追踪是不够的。虽然这能让开发者查看单个追踪信息,但追踪的真正强大之处在于通过聚合分析等方法,利用成百上千的追踪数据得出结论。为了充分发挥分布式追踪在评估中的各项优势,必须将追踪数据与指标和日志结合使用。
追踪通过明确因果关系,将不同类型的遥测数据通过端到端的请求关联起来,揭示应用程序的结构。没有追踪,我们可能会看到大量同时变化的指标,却难以找出根本原因;而有了追踪,就能确定与问题相关的指标,并理解其背后的原因。尽管追踪本身并非完整的可观测性解决方案,但它是任何分布式系统可观测性的必要组成部分。
分布式追踪的起源与发展
分布式系统已经存在了半个多世纪,理解其行为和性能的问题也一直存在。相比之下,分布式追踪工具在十多年前才开始出现,