天天看点

一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin

目录

  • 一站式微服务架构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

一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin

设置客户端服务

在各个微服务中添加依赖

<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

一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin

选择一个进入

一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin
一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+Zipkin一站式微服务架构SpringCloud-Netflix分布式链路跟踪Sleuth+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
           

继续阅读