环境
SpringCloud:Finchley.RELEASE
SpringBoot:2.0.0.RELEASE
JDK:1.8
1.服务链路(sleuth+zipkin)
通常一个由客户端发起的请求,在后端系统中经过多个微服务调用来协同产生最后的结果,依赖的其中任何一个服务出现超时或者错误都会导致结果错误。 全链路跟踪可以获取请求的路径中每个微服务调用信息,帮助用户快速发现错误和分析链路中的性能瓶颈。
2. 服务链路配置
2.1 Zipkin Server环境搭建
- zipkin server通过docker容器启动
docker pull openzipkin/zipkin:2.11
docker run -p 9411:9411 -d openzipkin/zipkin:2.11
- 访问
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/观察调用链路信息