Spring Cloud Sleuth与Zipkin分布式追踪及微服务部署
1. Spring Cloud Sleuth与Zipkin分布式追踪
在微服务架构中,分布式追踪是一个重要的工具,它能帮助我们了解服务之间的调用关系和性能瓶颈。Spring Cloud Sleuth和Zipkin就是这样的工具,它们能让我们无缝地为微服务调用添加追踪信息。
1.1 自定义跨度(Custom Spans)
通常,我们可以使用Zipkin追踪服务内部的HTTP和消息调用。但如果要追踪未被Zipkin检测的第三方服务调用,比如特定的Redis或Postgres SQL调用,该怎么办呢?Spring Cloud Sleuth和Zipkin允许我们为事务添加自定义跨度,以追踪这些第三方调用的执行时间。
下面是添加自定义跨度的具体步骤:
- 为许可服务添加自定义跨度 :
要为许可服务对Redis的调用添加自定义跨度,需要对 licensing-service/src/main/java/com/thoughtmechanix/licenses/clients/OrganizationRestTemplateClient.java
类进行检测。具体来说,要检测 checkRedisCache()
方法,代码如下:
import org.springframework.cloud.sleuth.Tracer;
//Rest of imports removed for concisenes