整合Zipkin实践
首先,需要在每个微服务模块的 pom.xml
文件中添加 Zipkin
依赖。依次打开 newbee-mall-cloud-user-web
、newbee-mall-cloud-recommend-web
、newbee-mall-cloud-order-web
、newbee-mall-cloud-shop-cart-web
和 newbee-mall-cloud-goods-web
5 个微服务实例工程中的 pom.xml
文件,在 dependencies
标签下引入 Zipkin
的依赖文件,新增代码如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
其次,在微服务实例中配置 Zipkin
的通信地址及采样率。依次打开 newbee-mall-cloud-user-web
、newbee-mall-cloud-recommend-web
、newbee-mall-cloud-order-web
、newbee-mall-cloud-shop-cart-web
和 newbee-mall-cloud-goods-web
5个微服务实例工程中的 application.properties
配置文件,分别新增如下配置项:
# Sleuth 采样率,取值范围为[0.1, 1.0],值越大,收集信息越及时,但对性能影响越大
spring.sleuth.sampler.probability=1.0
# 每秒数据采集量,最多 n 条/秒 Trace
spring.sleuth.sampler.rate=500
spring.zipkin.base-url=http://localhost:9411
最后,依次启动 5 个微服务实例,并打开浏览器访问一些接口。在这里,笔者通过各微服务的 Swagger UI
页面进行测试,访问了几个网址。之后进入 Zipkin
的 UI
页面,单击 “RUN QUERY” 按钮,便会出现调用的链路信息,如图 12-1 所示。

可以看到请求信息出现在 Zipkin
页面中,包括微服务名称、请求方法、请求时间等基本信息。如果想看更详细的信息,可以单击旁边的 “SHOW” 按钮。
比如,首页接口调用链路详情页面,如图 12-2 所示。

添加商品至购物车接口调用链路详情页面,如图 12-3 所示。

本章主要讲解在微服务架构项目中整合 Seluth
和 Zipkin
的相关编码过程,对实战部分的讲解做补充和优化。编码改造比较简单,只是有些小细节要注意一下,毕竟在实战项目里整合与写一个小案例整合有一些差别。虽然简单,但是笔者整理完成后,可以让读者学习起来更顺畅、更简单。希望读者能够根据笔者提供的开发步骤顺利地完成本章的项目改造。