目录
- 一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin
-
- 项目中使用Sleuth+Zipkin
-
- 创建Zipkin服务
- 设置客户端服务
- Elasticsearch进行zipkin持久化
一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin
项目中使用Sleuth+Zipkin
创建Zipkin服务
添加依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.12.3</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>2.12.3</version>
</dependency>
配置文件
server.port=9410
management.metrics.web.server.auto-time-requests=false
启动类
@EnableZipkinServer
@SpringBootApplication
public class SpringcloudDomeServerZipkinApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudDomeServerZipkinApplication.class, args);
}
}
启动项目,访问http://localhost:9410
设置客户端服务
在各个微服务中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
添加配置
spring.zipkin.base-url=http://localhost:9410
#发送跟踪数据到zipkin的类型
spring.zipkin.sender.type=web
#采样数量,默认是0.1,也就是10%,1.0全采样,但是会影响性能
spring.sleuth.sampler.probability=1.0
测试:
启动所有服务,访问消费者项目,然后查看zipkin
选择一个进入
Elasticsearch进行zipkin持久化
zipkin服务添加依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
<version>2.8.4</version>
</dependency>
配置文件添加elasticsearch数据源
zipkin.storage.type=elasticsearch
zipkin.storage.elasticsearch.cluster=elasticsearch
zipkin.storage.elasticsearch.hosts=http://localhost:9200
zipkin.storage.elasticsearch.index=zipkin