pom依赖:java
<dependencies> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId> </dependency> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-autoconfigure-ui</artifactId> </dependency> </dependencies>
启动类,添加 @EnableZipkinServer 注解:git
@EnableZipkinServer @SpringBootApplication public class ZipkinApplication { public static void main(String[] args) { SpringApplication.run(ZipkinApplication.class, args); } }
配置文件 application.yml:spring
server: port: 8088 spring: application: name: zipkin
启动项目,访问:http://localhost:8088,由于此时没有整合其余微服务,没有接口调用信息,这里就没有相关信息显示bash
这里准备两个微服务:zipkin-sales和zipkin-user,这两个项目的pom除了提供的接口不同以外,其余的均相同,其中 zipkin-sales 对外提供接口 /sales/queryGoodsList,/sales/queryGoodsList 接口内部调用 zipkin-user 的 /user/getUserInfo 接口,基于微服务之间的调用来观察链路信息。app
pom依赖:微服务
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId> </dependency> </dependencies>
启动类,没有特殊注解:测试
@SpringBootApplication @EnableDiscoveryClient public class SalesApplication { public static void main(String[] args) { SpringApplication.run(SalesApplication.class,args); } }
配置文件 application.yml:ui
spring.zipkin.baseUrl 是 zipkin 的地址spa
spring.sleuth.sampler.percentage 采样率,默认0.1,由于是测试,这里设置为1,保证每次都会被记录code
server: port: 8081 spring: application: name: sales zipkin: baseUrl: http://localhost:8088 sleuth: sampler: percentage: 1 eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true
启动两个项目,调用 http://127.0.0.1:8081/sales/queryGoodsList 接口以后访问 zipkin 界面:
点击 Find Traces 能够观察相关信息,点击 Dependencies 能够看到项目依赖关系:
simple-core:https://code.aliyun.com/995586041/core-simple.git
eureka:https://code.aliyun.com/995586041/eureka.git
zipkin-server:https://code.aliyun.com/995586041/zipkin.git
zipkin-sales:https://code.aliyun.com/995586041/zipkin-sales.git
zipkin-user:https://code.aliyun.com/995586041/zipkin-user.git