Zipkin是一种开源的分布式链路追踪系统,可以用于监控和跟踪微服务架构中的请求调用链。它可以帮助定位和解决分布式系统中的延迟问题,提供对请求的可视化跟踪和监控。
一、引入依赖
使用项目来启动Zipkin,创建一个springboot web项目添加zipkin依赖
1 <groupId>com.mike.study</groupId> 2 <artifactId>zipkin</artifactId> 3 <version>0.0.1-SNAPSHOT</version> 4 <name>zipkin</name> 5 <description>Demo project for zipkin</description> 6 <dependencies> 7 <dependency> 8 <groupId>org.springframework.boot</groupId> 9 <artifactId>spring-boot-starter-web</artifactId> 10 </dependency> 11 12 <!--引入的zipkinServer依赖--> 13 <dependency> 14 <groupId>io.zipkin.java</groupId> 15 <artifactId>zipkin-server</artifactId> 16 <version>${zipkin.version}</version> 17 </dependency> 18 <dependency> 19 <groupId>io.zipkin.java</groupId> 20 <artifactId>zipkin-autoconfigure-ui</artifactId> 21 <version>${zipkin.version}</version> 22 </dependency> 23 </dependencies>
配置application.yml
1 management: 2 metrics: 3 web: 4 server: 5 auto-time-requests: false 6 server: 7 port: 9411
二、启动zipkin
在监控项目中使用@EnableZipkinServer注解启动zipkin
1 import org.springframework.boot.SpringApplication; 2 import org.springframework.boot.autoconfigure.SpringBootApplication; 3 import zipkin.server.internal.EnableZipkinServer; 4 5 @SpringBootApplication 6 @EnableZipkinServer 7 public class ZipkinApplication { 8 9 public static void main(String[] args) { 10 SpringApplication.run(ZipkinApplication.class, args); 11 } 12 13 }
至此,zipkin监控项目也就搭建好了,只需要把需要监控的项目注册上来,即可跟踪链路了。
三、测试
创建3个微服务项目,分别是consumer,gateway,provider。consumer 通过gateway请求provider的服务。
3.1provider server
首先是provider,提供api查询用户信息
要把provider注册到zipkin,需要添加依赖
1 <dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-zipkin</artifactId> 4 </dependency>
再配置application.yml,告诉provider注册到那个zipkin
1 spring: 2 zipkin: 3 base-url: http://localhost:9411 # zipkin服务地址 4 sleuth: 5 sampler: 6 probability: 1 # 抽样百分比(0~1) 7 sender: 8 type: web # 链路类型(kafka,rabbitmq)
如法炮制,将gateway, consumer同样注册到zipkin,然后分别启动provider,gateway和consumer,然后请求consumer的controller。
访问http://localhost:7000/warp/user/2.1/5?token=13
再访问链路服务http://localhost:9411/zipkin/
通过链路分析,可以清晰看到每个服务的耗时,以及项目之间的依赖关系
标签:zipkin,provider,server,Zipkin,监控,链路,consumer From: https://www.cnblogs.com/lfhappy/p/17563665.html