Spring Cloud Sleuth、Zipkin分布式追踪与微服务部署
1. Spring Cloud Sleuth与Zipkin的分布式追踪
Spring Cloud Sleuth允许无缝地将追踪信息(关联ID)添加到微服务调用中,关联ID可用于跨多个服务链接日志条目,让我们能看到单个事务中涉及的所有服务的事务行为。但关联ID需与日志聚合平台结合,才能更好地发挥作用。云服务能在无需大量基础设施的情况下管理日志,还能随应用日志量增长轻松扩展。同时,Zipkin可展示服务调用时服务间的依赖关系,Spring Cloud Sleuth与Zipkin集成后,能以图形化方式查看事务流程,了解每个微服务的性能特征。
1.1 添加自定义跨度
当我们想追踪未被Zipkin检测的第三方服务调用时,Spring Cloud Sleuth和Zipkin允许在事务中添加自定义跨度。以下是具体操作步骤:
- 在许可服务中添加自定义跨度 :
要在许可服务调用Redis时添加自定义跨度,需对licensing-service/src/main/java/com/thoughtmechanix/licenses/clients/OrganizationRestTemplateClient.java
类进行检测,具体检测checkRedisCache()
方法,代码如下:
import org.springframework.cloud.sleuth.Tracer;
//R