一、链路追踪简介
1、Sleuth组件简介
Sleuth是SpringCloud微服务系统中的一个组件,实现了链路追踪解决方案。可以定位一个请求到底请求了哪些具体的服务。在复杂的微服务系统中,如果请求发生了异常,可以快速捕获问题所在的服务。
2、项目结构
启动顺序如下
* 注册中心node07-eureka-7001* 链路数据收集服务node07-zipkin-7003* 服务提供node07-provider-6001node07-provider-6002* 网关路由node07-zuul-7002
二、搭建链路服务
1、核心依赖
<dependency>
启动类注解:@EnableZipkinServer
2、配置文件
server:port: 7003spring:application:name: node07-zipkin-7003eureka:instance:hostname: zipkin-7003prefer-ip-address: trueclient:service-url:defaultZone: :7001/eureka/
三、服务配置
这里网关,zuul-7002,服务提供,provider-6001,provider-6002的配置相同。
1、核心依赖
<dependency>
2、配置文件
spring:zipkin:base-url: http://localhost:7003sleuth:sampler:# 数据 100% 上传percentage: 1.0
四、测试流程
1、注册中心
一次启动上述服务之后,查看注册中心:
2、请求流程
访问接口
http://localhost:7002/v1/api-6001/get6001Info
这个请求从网关服务进入,到达6001端口服务之后,请求6002端,最终返回结果。
6001接口
@Autowired
6002接口
@RequestMapping
3、链路管理界面
UI界面
访问接口
http://localhost:7003/zipkin/
依赖分析
如图点击,【依赖分析】,和上面描述的请求过程完全一致。
这样,案例就结束了。