Sleuth的作用

SpringCloud-Sleuth是Spring Cloud的组成部分之一,为SpringCloud应用实现了一种分布式追踪解决方案,其兼容了Zipkin, HTrace和log-based追踪

Sleuth与Zipkin的搭建

在spring Cloud为Finchley版本时,如果只需要默认的实现,则不需要自己构建Zipkin Server了,只需要下载jar即可,下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server
通过以下命令启动服务,默认INFO级别可以不设置logging。

  1. java -jar zipkin-server-2.12.2-exec.jar --logging.level.zipkin2=INFO

服务启动后默认可以通过9411端口访问Zipkin的监控页面。(http://127.0.0.1:9411

Sleuth服务端配置

引入pom文件。

 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-zipkin</artifactId>
 </dependency>

修改配置文件。

spring:
  application:
    name: cloud-payment-service
  zipkin:
    base-url: http://127.0.0.1:9411
  sleuth:
    sampler:
    # 采样率介于0到1之间,1则表示全部采集
      probability: 1

创建服务调用接口。

@GetMapping(value="/payment/zipkin")
public String paymentZipkin(){
    return "fsdfdsfsdfsdfsdfsdfds";
}

调用服务,则会在Zipkin客户端显示服务调用链路。