Zipkin 3.6 介绍与选型指南

Zipkin 3.6 介绍与选型指南:官方资料溯源的开源分布式链路追踪系统定位(当前稳定 3.6.1,2026-04-08 发布,Apache-2.0)、Collector/Storage/Query/UI 架构、多语言埋点与多存储后端、官方 quickstart 运行方式与适用限制,以及与 Jaeger、Tempo、SkyWalking、Elastic APM 的量化选型对比(2026-10-19 实查,未做本地安装实测)。

ZipkinZipkin链路追踪2026/10/19

Zipkin 3.6 介绍与选型指南

目标:基于官方公开资料溯源(zipkin.io 官网与官方文档、GitHub 官方仓库 openzipkin/zipkin 发行页)梳理 Zipkin 的定位、架构、功能与同类分布式追踪系统选型对比,未做本地安装实测;版本号、日期与 stars 均标注来源与查询日期 2026-10-19。

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(zipkin.io 官网、GitHub 官方仓库 openzipkin/zipkin 及 Releases 页),本文不做本地安装与运行实测。
  • 版本结论:3.x 线当前最新稳定版为 Zipkin 3.6.1(2026-04-08 发布);前一版 3.6.0(2026-03-24),上一稳定补丁 3.5.1(2025-04-27)——3.6 线属于慢节奏、低维护强度的稳定项目。

1.2 版本依据表

项目实查结果(2026-10-19)来源
最新稳定版3.6.1(2026-04-08)github.com/openzipkin/zipkin/releases
近期版本3.6.0(2026-03-24)、3.5.1(2025-04-27)同上
代码仓库openzipkin/zipkin(17468 stars,2026-10-19 实查)github.com/openzipkin/zipkin
开源许可Apache License 2.0仓库 LICENSE(GitHub API 实查)
主干活跃度最近推送 2026-08-06;发版节奏以年为单位GitHub API 实查

1.3 官方来源清单

来源地址
官网https://zipkin.io/
官方 Quickstarthttps://zipkin.io/pages/quickstart.html
官方文档(架构/存储/采集端)https://zipkin.io/pages/documentation.html
源码仓库https://github.com/openzipkin/zipkin
发行页https://github.com/openzipkin/zipkin/releases

二、软件概述

本文介绍的是 Zipkin 3.6(开源版最新补丁 3.6.1,2026-04-08 发布)。

Zipkin 是历史最悠久的开源分布式链路追踪(Distributed Tracing)系统之一,源于 Google Dapper 论文的实践,由 Twitter 开源并演进至今,隶属 OpenZipkin 社区。它负责收集各服务上报的 Span(带时间戳的调用片段),把它们组装成 Trace 并提供检索与时间轴可视化,帮助定位微服务调用链中的延迟瓶颈。Zipkin 以 Java(Spring Boot)实现为服务端主体,以 Apache-2.0 发布,GitHub 上拥有 17468 stars(2026-10-19 实查)。作为「Kubernetes 之前的微服务可观测时代」的经典方案,它至今仍被大量存量系统与教学场景使用,OpenTelemetry 生态也保留了向 Zipkin 兼容上报的路径。

三、核心架构

3.1 四大组件

  • Collector:接收 Span 上报,支持 HTTP/Kafka/Scribe 等传输;客户端通过 zipkin 客户端库或 OTel Collector 转发。
  • Storage:Span 存储,可选内存(开发用)、Elasticsearch(生产主流)、Cassandra/Cassandra 3 与 MySQL。
  • Query API / UI:按服务名、Span 名、标签、时长与时间窗检索 Trace,并以瀑布图呈现父子调用与耗时分布。
  • Instrumentation:各语言的 zipkin 客户端库( Brave/zipkin-java 等)与框架集成(Spring Cloud Sleuth 血统等)。

3.2 数据模型与部署

数据模型为 Trace → Span → Annotation/BinaryAnnotation(3.x 沿用 v2 API 数据格式);服务端是一个单体 Spring Boot 可执行 jar,可单进程起内存版,也可水平扩展多个 server 实例共享同一 Elasticsearch/Cassandra 集群。官方亦提供 zipkin-server 的 Docker 镜像与各存储模块的独立 artifact。

四、功能特性

  • 开箱即用的追踪服务端:单 jar 即可运行,内存存储零依赖起步,生产换 Elasticsearch 等后端仅需换模块与环境变量。
  • 多语言埋点生态:Java/Go/Node.js/Python/PHP 等官方或社区客户端库,另可通过 OTel Collector 的 zipkin exporter 接入 OpenTelemetry 数据(官方文档「Existing instrumentations」页)。
  • 多通道采集:HTTP 直报之外支持 Kafka/RabbitMQ/ActiveMQ/Scribe 等中间件缓冲上报(官方文档)。
  • 轻量查询与 UI:按服务/时间/时长/标签过滤 Trace,瀑布图与依赖图(依赖推导基于存储中的 Span 数据)。
  • 3.6 线状态:3.6.1(2026-04-08)为当前稳定版,项目处于成熟稳定期——低频发版但持续维护(GitHub 主干 2026-08 仍有推送),适合当作「不会大动」的长期组件选型。

五、快速上手

以下步骤转述自官方 Quickstart 页(https://zipkin.io/pages/quickstart.html ),本文不做本地实测。

  1. 一键运行(内存存储):
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
  1. 访问 UI:浏览器打开 http://localhost:9411,即为 Zipkin 查询界面。
  2. 上报数据:应用侧引入对应语言的 zipkin 客户端库(或 OTel Collector zipkin exporter),把 Span 以 JSON 经 HTTP POST 到 /api/v2/spans;随后在 UI 中按服务名检索 Trace。
  3. 切换生产存储:以 STORAGE_TYPE=elasticsearch 等环境变量指定 Elasticsearch/Cassandra/MySQL 后端并重启(官方文档存储章节)。

本站已有 Zipkin 3.6.1 的 Ubuntu 安装、Docker Compose 与配置参数实测文档,可对照实操。

六、适用场景与限制

6.1 适用场景

  • 存量微服务已经使用 Zipkin/Sleuth 埋点、只需稳定维护的追踪后端。
  • 教学/POC 场景:零依赖单 jar 演示分布式追踪概念。
  • 已有 Elasticsearch 基础设施、希望复用其作为 Trace 存储的团队。

6.2 限制与注意事项

  • 生态演进慢于后起之秀:发版节奏以年计(3.5.1 → 3.6.0 间隔约 11 个月),新特性以 OpenZipkin 社区维护强度为准,不适合期待快速迭代的团队。
  • 监控指标/日志维度缺失:Zipkin 只做 Tracing,指标(Metrics)与日志聚合需另选 Prometheus/Loki 等,组合成本要计入选型。
  • 存储规模化依赖 Elasticsearch/Cassandra:Trace 量大时查询与存储调优压力转移到外部存储。
  • OTel 时代定位:新项目一般直接采用 OpenTelemetry SDK + 追踪后端(Jaeger/Tempo 等,二者均可直接接收 OTLP);Zipkin 的优势在于存量兼容与极简,新建全 OTLP 栈时应评估是否还需要 Zipkin 中间层。

七、同类选型对比

7.1 候选概览

系统定位开源许可
Zipkin 3.6经典轻量分布式追踪系统Apache-2.0
Jaeger 2.22CNCF 毕业级云原生追踪平台Apache-2.0
Grafana Tempo 3.1高吞吐低成本 Trace 后端(Grafana 栈)AGPL-3.0
Apache SkyWalking 11.0APM + Tracing 一体化观测平台Apache-2.0
Elastic APM Server 9.5Elastic Stack 内置 APM 链路组件Apache-2.0(部分组件 Elastic License)

7.2 量化对比(2026-10-19 实查)

维度Zipkin 3.6.1Jaeger v2.22Tempo v3.1SkyWalking 11.0Elastic APM 9.5
开源许可Apache-2.0Apache-2.0AGPL-3.0Apache-2.0Apache-2.0/Elastic 双许可
GitHub stars17468(openzipkin/zipkin)23311(jaegertracing/jaeger)5538(grafana/tempo)24972(apache/skywalking)1271(elastic/apm-server)
最近发版3.6.1(2026-04-08)v2.22.0(2026-10-06)v3.1.0(2026-09-29;3.0.4 双线 2026-10-16)11.0.0(2026-08-28)APM Server 9.5.5(2026-10-06)
版本节奏低频(成熟稳定期)月度级别,CNCF 主线活跃高频 minor + 双线补丁大版本 + 功能版并行随 Elastic Stack 月度同步
部署形态单体 jar / 容器原生组件化 + OTel 深度整合对象存储后端的单体后端多组件(OAP + UI + 存储)依赖 Elastic Stack
上报协议Zipkin v2(HTTP/Kafka 等)OTLP 原生OTLP/Zipkin/Jaeger 多协议自有 SW 协议 + OTel 兼容APM Agent(Elastic 生态)
生态侧重极简、存量兼容K8s 云原生标准选择大规模低成本 Trace + GrafanaAPM 告警/拓扑一体化与 ES 可观测全家桶融合

(stars 与发版时间取自各项目 GitHub Releases/API,2026-10-19 实查;许可见各自仓库 LICENSE。)

7.3 选型建议

维护存量 Zipkin/Sleuth 埋点系统、或需要一个零依赖演示与教学级追踪服务,Zipkin 3.6.1 依旧够用且省心;新建云原生栈优先 Jaeger(OTLP 原生、CNCF 毕业项目、迭代活跃);已重仓 Grafana 栈且在意大容量 Trace 存储成本选 Tempo;希望 APM(指标+拓扑+告警)开箱一体选 SkyWalking 或 Elastic APM(后者绑定 Elastic Stack 生态)。延伸阅读见本站《Jaeger 2.22 介绍与选型指南》(https://www.quzuo.net/document/GbKQuRjcyeqh )、《Tempo 3.1 介绍与选型指南》(https://www.quzuo.net/document/tApUQC6nqyhp )与《SkyWalking 11.0 介绍与选型指南》(https://www.quzuo.net/document/gjRQWqeIr1gA )。

八、参考链接