100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪

SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪

时间:2021-10-31 19:07:46

相关推荐

SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪

目录

一、Sleuth介绍

1、为什么会出现这个技术?需要解决哪些问题?

2、是什么

二、搭建链路监控步骤

1、zipkin搭建安装

1)下载

2)运行jar

3)运行控制台

4)术语

2、服务提供者 cloud-provider-payment8001

pom.xml

application.yml

controller层

3、服务消费者(调用方)cloud-consumer-order80

pom.xml

application.yml

controller层

4、测试

一、Sleuth介绍

1、为什么会出现这个技术?需要解决哪些问题?

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。

官网:/spring-cloud/spring-cloud-sleuth

2、是什么

Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin

二、搭建链路监控步骤

1、zipkin搭建安装

1)下载

SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可

zipkin 下载地址:/openzipkin/maven/io/zipkin/java/zipkin-server/zipkin-server-2.12.9-exec.jar

2)运行jar

java -jar zipkin-server-2.12.9-exec.jar

3)运行控制台

控制台:http://localhost:9411/zipkin/

4)术语

完整的调用链路: 一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来

—条链路通过Trace ld唯一标识,Span标识发起的请求信息,各span通过parent id关联起来。

名词解释:

Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识span:表示调用链路来源,通俗的理解span就是一次请求信息

2、服务提供者 cloud-provider-payment8001

cloud-provider-payment8001

pom.xml

改 pom.xml,增加:

<!--包含了sleuth+zipkin--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>

application.yml

改 application.yml,添加以下内容

spring:zipkin:base-url: http://localhost:9411 # zipkin 地址sleuth:sampler:# 采样率值 介于0-1之间 ,1表示全部采集probability: 1

controller层

改业务类 PaymentController增加:

@GetMapping("/payment/zipkin")public String paymentZipkin(){return "hi, i am paymentzipkin server fall back, welcome to atguigu, O(n_n)O 哈哈~";}

3、服务消费者(调用方)cloud-consumer-order80

pom.xml

改 pom.xml,增加:

<!--包含了sleuth+zipkin--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>

application.yml

改 application.yml,添加以下内容

spring:zipkin:base-url: http://localhost:9411 # zipkin 地址sleuth:sampler:# 采样率值 介于0-1之间 ,1表示全部采集probability: 1

controller层

改业务类OrderController,增加:

@GetMapping("/consumer/payment/zipkin")public String paymentZipkin(){String result = restTemplate.getForObject(PAYMENT_URL+"/payment/zipkin",String.class);return result;}

4、测试

访问:localhost/consumer/payment/zipkin

在控制台查看调用链路

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。