外观
一句话答案
分布式链路追踪用 TraceID 串联跨服务调用,SpanID 标识单次调用,SkyWalking 字节码增强无侵入。
核心要点
核心概念: TraceID(全局唯一) + SpanID(单次调用) + ParentSpanID(父调用)
实现: SkyWalking(字节码增强,无侵入) / Zipkin(SDK埋点) / Sleuth(Spring Cloud)
数据流: 埋点采集 → 传输(Kafka) → 存储(ES) → 展示
追问与易错
追问方向:
- TraceID 怎么透传?
- SkyWalking 为什么侵入性低?
- 追踪数据量大怎么处理?
易错点:
- ❌ 所有请求都要追踪——应使用采样
- ❌ 链路追踪只能看调用链——还能分析性能瓶颈
💡 记忆锚点
链路追踪像快递单号:TraceID是总运单号(串联整条调用链),SpanID是每一段运输的子单号,ParentSpanID指向上一段。SkyWalking用字节码增强(Java Agent),代码零侵入自动埋点;Zipkin需要手动SDK埋点。数据流:埋点采集 -> Kafka缓冲 -> ES存储 -> 可视化查询。