Zipkin 负责接收、查询和展示服务调用链。Micrometer Tracing 生成 trace/span,Zipkin 把这些数据变成可以查看的调用树。
一、导出地址
management:
tracing:
export:
zipkin:
endpoint: http://127.0.0.1:9411/api/v2/spans
每个服务把自己的 span 导出到 Zipkin。开发环境和生产环境只差异在地址与采样率,链路模型保持一致。
二、排查一次请求
典型流程:
- 通过 Gateway 发起请求。
- 在网关日志里找到 traceId。
- 到 Zipkin 查询该 traceId。
- 查看各服务 span 的耗时、状态和调用关系。
- 再回到对应服务日志看业务细节。
三、它回答的是路径问题
Zipkin 擅长回答:
- 请求经过了哪些服务。
- 哪一段最耗时。
- 异常发生在哪一层。
- 调用是否出现了跨服务传播断点。
它不直接回答数据库慢 SQL 的完整执行计划,也不替代日志和指标。
四、避坑点
- Zipkin 内存存储重启会丢历史,生产要配置外部存储。
- 全采样会快速放大数据量。
- Zipkin 不应暴露到公网。
- 服务时钟偏差会影响耗时判断。
五、经验总结
Zipkin 把分散的 span 变成完整调用树。它和日志互为印证:日志给细节,链路给路径。