Zipkin 调用链后端

zjc 于 2026-08-12 发布

Zipkin 负责接收、查询和展示服务调用链。Micrometer Tracing 生成 trace/span,Zipkin 把这些数据变成可以查看的调用树。

一、导出地址

management:
  tracing:
    export:
      zipkin:
        endpoint: http://127.0.0.1:9411/api/v2/spans

https://github.com/springvortex/spring-cloud-alibaba/blob/release/v1.0.0/service-provider/src/main/resources/application-prod.yaml

每个服务把自己的 span 导出到 Zipkin。开发环境和生产环境只差异在地址与采样率,链路模型保持一致。

二、排查一次请求

典型流程:

  1. 通过 Gateway 发起请求。
  2. 在网关日志里找到 traceId。
  3. 到 Zipkin 查询该 traceId。
  4. 查看各服务 span 的耗时、状态和调用关系。
  5. 再回到对应服务日志看业务细节。

三、它回答的是路径问题

Zipkin 擅长回答:

  1. 请求经过了哪些服务。
  2. 哪一段最耗时。
  3. 异常发生在哪一层。
  4. 调用是否出现了跨服务传播断点。

它不直接回答数据库慢 SQL 的完整执行计划,也不替代日志和指标。

四、避坑点

  1. Zipkin 内存存储重启会丢历史,生产要配置外部存储。
  2. 全采样会快速放大数据量。
  3. Zipkin 不应暴露到公网。
  4. 服务时钟偏差会影响耗时判断。

五、经验总结

Zipkin 把分散的 span 变成完整调用树。它和日志互为印证:日志给细节,链路给路径。