SpringCLoud | 链路跟踪(1)-Sleuth和Zipkin配置

651 阅读1分钟

环境

SpringCloud:Finchley.RELEASE

SpringBoot:2.0.0.RELEASE

JDK:1.8

1.服务链路(sleuth+zipkin)

通常一个由客户端发起的请求,在后端系统中经过多个微服务调用来协同产生最后的结果,依赖的其中任何一个服务出现超时或者错误都会导致结果错误。 全链路跟踪可以获取请求的路径中每个微服务调用信息,帮助用户快速发现错误和分析链路中的性能瓶颈。

2. 服务链路配置

2.1 Zipkin Server环境搭建

  1. zipkin server通过docker容器启动
docker pull openzipkin/zipkin:2.11
docker run -p 9411:9411 -d openzipkin/zipkin:2.11
  1. 访问http://localhost:9411/zipkin/查看zipkin server web页面

2.2 Zipkin Client环境搭建

改造consumer9001的项目对服务链路的跟踪

2.2.1 导入依赖坐标

  • pom文件增加依赖
        <!--链路追踪sleuth-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>

        <!--链路追踪zipkin-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>

2.2.2 配置zipkin server信息

spring:
  application:
    name: microservice-consumer
  zipkin:
    base-url: http://localhost:9411  # zipkin server地址和端口
    sender:
      type: web  #zipkin消息传送发送方式,采用Http协议
  sleuth:
    sampler:
      probability: 1 # sleuth配置采样比,默认是0.1

2.2.3 改造provider8001,步骤与consumer9001相同

启动注册中心、consumer9001、provider8001项目,访问http://localhost:9001/consumer/list, 访问http://localhost:9411/zipkin/观察调用链路信息

代码示例-github