SpringCloud Sleuth分布式请求链路跟踪
SpringCloudSleuth提供了以探讨完整的服务跟踪解决方案
在分布式系统中提供追踪解决方案并兼容支持zipkin
zipkin下载完成后输入网址localhost:9411/zipkin/即可访问
一条链路通过Trace Id唯一标识,Span标识发起的请求信息,个span通过parent id关联起来
- Trace:类似于树结构的Span集合,标识一条调用的链路,存在唯一标识
- span:表示调用链路来源,通俗的理解span就是一次请求信息
案例
我们还是用最原始的8001与80
8001:
改pom,加上:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
改yml,加上(在spring下):
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率值介于0到1只见,1则表示全部采集
probability: 1
controller中:
@GetMapping(value = "/payment/zipkin")
public String paymentZipkin(){
return "hi,i am paymentzipkin server fallback ";
}
80:
改pom
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
改yml
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
# 采样率值介于0到1只见,1则表示全部采集
probability: 1
controller
@GetMapping("/consumer/payment/zipkin")
public String paymentZipkin(){
String result = restTemplate.getForObject("http://localhost:8001" + "/payment/zipkin/", String.class);
return result;
}