关于Springcloud Sleuth分布式请求链路跟踪的使用 小结

2022年12月1日12:25:49

目录

1. Sleuth概述

2. Zipkin配置

3. Sleuth案例

3.1 服务提供者

3.2 服务消费者

3.3 依赖关系


1. Sleuth概述

Sleuth configures everything you need to get started. This includes where trace data (spans) are reported to, how many traces to keep (sampling), if remote fields (baggage) are sent, and which libraries are traced.

微服务框架中,一个由客户端发起的请求在后端系统中经过多个不同的服务节点调用来协同产生最后的请求结果,每个请求都会形成一条复杂的分布式服务调用链路,而Springcloud Sleuth提供了一套完整的服务跟踪的解决方案。

2. Zipkin配置

1) 下载Zipkin的zipkin-server-2.12.9-exec.jar。

2) 启动zipkin:java -jar .\zipkin-server-2.12.9-exec.jar。

3) 访问zipkin(localhost:9411/zipkin/)。

3. Sleuth案例

以下案例代码的Github地址

四个modules分别是:cloud-eureka-server7001,cloud-provider-hystrix-payment8001,cloud-consumer-feign-hystrix-order80。

3.1 服务提供者

1) cloud-provider-payment8001添加zipkin依赖。

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

2) 添加zipkin配置。

zipkin:
  base-url: http://localhost:9411
  sleuth:
    sampler:
      #采样取值介于 0到1之间,1则表示全部收集
      probability: 1

3) PaymentController添加接口:

@GetMapping(value="/payment/zipkin")
public String paymentZipkin() {
	return "hello,i am paymentZipkin server fallback,O(∩_∩)O哈哈~";
}

3.2 服务消费者

1) cloud-consumer-feign-hystrix-order80添加zipkin依赖。

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

2) 添加zipkin配置。

zipkin:
  base-url: http://localhost:9411
  sleuth:
    sampler:
      #采样取值介于 0到1之间,1则表示全部收集
      probability: 1

3) ordercontroller添加接口:

@GetMapping(value="/consumer/payment/zipkin")
public String paymentZipkin() {
	return restTemplate.getForObject("http://127.0.0.1:8001/payment/zipkin/",String.class);
}

3.3 依赖关系

  • 作者:BAStriver
  • 原文链接:https://blog.csdn.net/BAStriver/article/details/113705859
    更新时间:2022年12月1日12:25:49 ,共 1516 字。