使用 Zipkin 进行分布式追踪

17 Mar 2025 | 阅读 2 分钟

什么是分布式追踪?

分布式追踪是一种用于对应用程序进行性能分析监控的技术,尤其适用于使用微服务架构构建的应用程序。分布式追踪,也称为分布式请求追踪。 IT 和 DevOps 团队可以使用分布式追踪来监控应用程序。

当一个请求中存在多个服务调用时,它可以识别失败的微服务或存在性能问题的服务。 当我们需要跟踪通过多个微服务的请求时,它非常有用。 它也用于衡量微服务的性能。

在上一节中,我们已经安装了 RabbitMQ,它作为中间件。 在本节中,我们将实现 Zipkin 服务器进行分布式追踪。

Distributed tracing using Zipkin

在上图中,ZipkinDistributedTracingServer 连接到内存数据库。 所有微服务都会将消息放入 RabbitMQ 服务器。 ZipkinDistributedTracingServer 从 RabbitMQ 服务器消费消息。

在本节中,我们将重点介绍安装 ZipkinDistributedTracingServer,并将其与 RabbitMQ 服务器和内存数据库连接。

让我们看看如何将 Zipkin 服务器连接到其他服务器。

步骤 1: 下载 Zipkin 服务器。

在 Google 上搜索Zipkin quickstart。 单击链接Quickstart OpenZipkin。 我们有两个选项可以快速启动 Zipkin,一个是 Docker,另一个是 Java。 但是我们将使用 Java 方法。

步骤 2:https://search.maven.org/remote_content?g=io.zipkin&a=zipkinserver&v=LATEST&c=exec 下载 zipkin-server-2.12.9-exec.jar 文件。

步骤 3: 复制 JAR 文件并将其粘贴到任何文件夹或驱动器中。 我们已将 JAR 文件直接粘贴到 C 盘中。

步骤 4: 打开命令提示符并运行以下命令

该命令启动 Zipkin 服务器。

Distributed tracing using Zipkin

让我们检查 Zipkin 服务器是否正在运行。

步骤 5: 打开浏览器并输入 https://:9411/zipkin/。 它显示 Zipkin 服务器的仪表板。 在这里,端口 9411 是 Zipkin 服务器的默认端口。

Distributed tracing using Zipkin

在这里,最重要的是 Zipkin 服务器必须监听 RabbitMQ 服务器。 因此,我们必须在后台启动 RabbitMQ 服务器。

步骤 6: 按下 Ctrl+c 键关闭 Zipkin 服务器。

步骤 7: 在命令提示符下运行以下命令

这些命令再次启动 Zipkin 服务器以及 RabbitMQ 服务器。

Distributed tracing using Zipkin

在本节中,我们已经安装了 Zipkin 服务器。 我们还启动了 RabbitMQ 服务器并将其连接到 Zipkin 服务器。 现在 Zipkin 服务器正在监听 RabbitMQ 服务器。 但是微服务没有将跟踪消息放入 RabbitMQ。

在下一步中,我们将开始将跟踪消息放入 RabbitMQ。