标准答案
- 入口服务创建或继续 Trace Context,并把同一 Trace ID 传给下游调用、日志和业务事件。
- 每个 HTTP、RPC、数据库、缓存或消息处理操作可以创建 Span,记录开始结束时间、状态、错误和关键属性。
- 采样可按比例、错误、慢请求或业务规则决定,既控制成本又保留高价值异常样本。
- 异步任务和消息消费者必须显式提取与注入上下文,否则看起来属于同一业务的链路会断成多段。
题目解析
Trace 不是一个日志字段的替代品,而是一张带时间关系的调用图。它最适合回答“这次请求在哪一跳慢了、失败如何传播”。
采样策略会影响排查证据。核心交易、错误和高延迟请求通常应保证较高采样率,普通成功流量可以较低。
常见误区
- 只在入口生成 Trace ID,下游请求没有透传。
- 给每个业务字段都加成 Span 属性,导致高基数和成本失控。
- 异步消息没有携带上下文,排查时误以为生产者和消费者无关。