在微服务架构中,当一个用户请求执行时,调用了那些微服务,并且这些微服务的服务水平如何?是在开发和运维中关注的一个重要问题。Zipkin作为分布式调用跟踪的一个开源实现,并广泛运用。本文演示如何在Spring Cloud构建的系统中加入该功能。
本文使用 Spring Cloud课题实验手册(一) 文中的案例作为基础,如果不熟悉 Spring Cloud,可以先练习并完成该实验。
安装 Zipkin 服务
在 Spring Boot 早期的版本中,Zipkin 可以作为一个 Spring Boot 项目被构建并启动运行,但在 Spring Boot 2.x 之后,就不再支持这种方式。因此我们可以通过 Docker 来安装。可参考 在Docker中使用 Zipkin 服务端。
加入依赖库
在需要跟踪的项目中加入依赖库,我们选择在 Gateway 项目中添加:
1 | <dependency> |
修改配置文件
修改 application.yml 文件,添加与 zipkin 和 sleuth 相关的配置:
1 | spring: |
base-url 指向 zipkin 服务运行的地址, probability 指名取样频率,默认频率为: 0.1
查看效果
运行 Gateway 服务,调用相关服务, 然后通过浏览器访问 zipkin 服务的地址来查看效果。