在springCloud项目的方式构建服务
spring-cloud-sleuth只要在追踪的服务上配置就可以
spring.zipkin.base-url=http://localhost:8240 spring.sleuth.sampler.percentage=1.0(配置这个就可以)1.0表示100%追踪//0.7表示70%追踪
1、zipkin-server服务
添加如下依赖(不用保存到数据库则不需要添加数据库依赖)
-
dependencies>
-
<!--使用@EnableZipkinServer注解方式只需要依赖如下两个包-->
-
<dependency>
-
<groupId>io.zipkin.java </groupId>
-
<artifactId>zipkin-server </artifactId>
-
</dependency>
-
<dependency>
-
<groupId>io.zipkin.java </groupId>
-
<artifactId>zipkin-autoconfigure-ui </artifactId>
-
<scope>runtime </scope>
-
</dependency>
-
<!--保存到数据库需要如下依赖-->
-
<dependency>
-
<groupId>io.zipkin.java </groupId>
-
<artifactId>zipkin-autoconfigure-storage-mysql </artifactId>
-
</dependency>
-
<dependency>
-
<groupId>mysql </groupId>
-
<artifactId>mysql-connector-java </artifactId>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework.boot </groupId>
-
<artifactId>spring-boot-starter-jdbc </artifactId>
-
</dependency>
-
-
//启动ZipkinServer段
-
public class ZipkinServer {
-
public static void main (String[] args) {
-
SpringApplication .run(ZipkinServer.class, args);
-
}
-
}
-
server.port= 8240
-
spring .application .name=zipkin- server
-
-
#zipkin数据保存到数据库中需要进行如下配置
-
#表示当前程序不使用sleuth
-
spring .sleuth .enabled= false
-
#表示zipkin数据存储方式是mysql
-
zipkin .storage .type=mysql
-
#数据库脚本创建地址,当有多个是可使用[x]表示集合第几个元素
-
spring .datasource .schema[ 0]=classpath:/zipkin .sql
-
#spring boot数据源配置
-
spring .datasource .url=jdbc:mysql: //localhost:3306/zipkin?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
-
spring .datasource .username=root
-
spring .datasource .password= 123456
-
spring .datasource .driver-class-name=com .mysql .jdbc .Driver
-
spring .datasource .initialize= true
-
spring .datasource .continue-on-error= true
2.在需要追踪的服务上添加依赖和配置
-
<dependency>
-
<groupId>org.springframework.cloud </groupId>
-
<artifactId>spring-cloud-starter-zipkin </artifactId>
-
</dependency>
-
-
spring .zipkin .base-url= http://localhost:8240
启动服务的时候(先启动注册中心即可)
最后访问http://localhost:8240
在调用服务即可看到页面上参数的变化
点击Find Traces按钮,我们可以看到调用的链路和耗时情况,点击Dependencies,我们可以看到provider和consumer的调用图
(技术有限仅供参考)