上下文传播的未来
1. 跨领域工具概述
上下文传播是一种强大的机制,可用于多种不同的用例,不仅仅局限于性能分析、调试和监控。我们将这类更广泛的工具称为跨领域工具,它们是为分布式架构设计的。分布式追踪、Census、Pivot Tracing 和 Pythia 都是跨领域工具的例子。不过,跨领域工具不一定专门用于追踪,也不一定用于记录追踪数据。
分布式追踪的目标是关联和整合不同组件和机器之间的数据,用于离线分析。它在工具的应用端组件(用于检测和生成追踪信息)与事后聚合和追踪分析组件之间有明显的区分。
近年来,一些学术研究项目和工业原型开发出了更多种类的跨组件工具,其中许多用于在线任务。有些工具仍然专注于性能分析、调试和监控,但也有一些更进一步,考虑了诸如资源管理等方面的实施。这些工具不仅进行离线分析,还会在请求执行时观察和分析事件,并可能立即决定采取何种行动。
上下文传播是跨领域工具的核心组件,它使工具能够组合不同组件和机器之间的信息。不同的工具传播不同的上下文,例如分布式追踪工具传播 TraceIDs,而像 Census 这样的指标工具传播标签,Retro 工具传播租户标识符。并非所有跨领域工具都使用特定于分布式追踪的概念,如跨度(spans)。同样,许多跨领域工具不会将数据收集和存储在后端数据库中,而是有直接与系统实时交互的控制循环。
2. 跨领域工具的用例
2.1 分布式追踪
分布式追踪是跨领域工具中最明显的例子。不同的实现大致遵循相同的设计:
- 上下文传播 :使用上下文传播来传递 TraceIDs。
- 使用方