服务链路追踪
2020-01-06
Zipkin是一个开放源码的分布式跟踪系统 ,它致力于收集服务的定时数据 .以解决微服务架构中的延迟问题 ,包括数据的收集,存储,查找和展现 .
每个服务向Zipkin报告计时数据 ,Zipkin会根据调用关系通过ZipKin UI生成依赖关系图 ,显示了多少跟踪请求通过每个服务 .
创建ZipKin服务端
1.需要的依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
2.开启ZipKin Server功能
在启动类上添加@EnableZipkinServer注解 ,开启ZipKin Server 功能
3.配置文件
# 添加配置
management:
metrics:
web:
server:
#避免访问zipkin页面报java.lang.IllegalArgumentException
auto-time-requests: false
追踪服务
1.依赖
在所有需要被追踪的项目(包括eureka注册中心) 中增加spring-cloud-starter-zipkin依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2.配置文件
在这些服务的配置文件中增加ZipKin Server的地址
spring:
zipkin:
base-url: ZipKin ServerIP:PORT
到这里就配置完成,实现链路追踪了 .