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