源码:https://gitee.com/GXQ205153964/sleuth-parent.git
简介:Spirng Cloud Sleuth 其实是个工具,它在整个分布式系统中能跟踪一个用户请求的过程,捕获这些跟踪数据,就能构建微服务的整个调用链路的视图,这是调试和监控微服务的关键工具。
- 耗时分析
- 可视化错误
- 链路优化
Zipkin是Twitter的一个开源的项目 ,他致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集 存储 查找和展现。
入门:流程:
- 安装启动zipkin。 java-jar zipkin.jar
- 访问zipkin web界面。http://localhost:9411
- 在服务提供方和消费方分别引入 sleuth和zipkin依赖
链接:https://pan.baidu.com/s/1Ircbif6-JLr7-2xFhLmmCw
提取码:2015
cmd界面运行这个jar包
java -jar .zipkin-server-2.12.9-exec.jar基本代码,生产者和消费者
照着这个搭建一个Eureka-server-sleuth sleuth-cousumer 和sleuth-provider
spirngcloud Eureka服务治理(注册中心)
参考:springcloud代码里的Eureka server模块 cousumer和provider模块
引入sleuth和zipkin parentpom.xml
eureka-server-sleuth4.0.0 com.itheima sleuth-parentpom 1.0-SNAPSHOT sleuth-provider sleuth-consumer eureka-server-sleuth org.springframework.boot spring-boot-starter-parent2.1.0.RELEASE UTF-8 UTF-8 1.8 Greenwich.RELEASE org.springframework.cloud spring-cloud-dependencies${spring-cloud.version} pom import
application.yml
server: port: 8761 eureka: instance: hostname: localhost # 主机名 client: service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka # eureka服务端地址,将来客户端使用该地址和eureka进行通信 register-with-eureka: false # 是否将自己的路径 注册到eureka上。eureka server 不需要的,eureka provider client 需要 fetch-registry: false # 是否需要从eureka中抓取路径。eureka server 不需要的,eureka consumer client 需要 server: enable-self-preservation: false # 关闭自我保护机制 eviction-interval-timer-in-ms: 3000 # 检查服务的时间间隔
pom.xml
consumerorg.springframework.boot spring-boot-starter-weborg.springframework.cloud spring-cloud-starter-netflix-eureka-server
application.yml
server: port: 9000 eureka: instance: hostname: localhost # 主机名 client: service-url: defaultZone: http://localhost:8761/eureka spring: application: name: feign-consumer # 设置当前应用的名称。将来会在eureka中Application显示。将来需要使用该名称来获取路径 zipkin: base-url: http://localhost:9411/ # 设置zipkin的服务端路径 sleuth: sampler: probability: 1 # 采集率 默认 0.1 百分之十。 logging: level: com.itheima: debug
pom.xml
providerorg.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-actuatororg.springframework.cloud spring-cloud-starter-netflix-eureka-clientorg.springframework.cloud spring-cloud-starter-openfeignorg.springframework.boot spring-boot-starter-loggingorg.springframework.cloud spring-cloud-starter-netflix-hystrixorg.springframework.cloud spring-cloud-starter-zipkin
application.yml
server: port: 8000 eureka: client: service-url: defaultZone: http://localhost:8761/eureka spring: application: name: feign-provider zipkin: base-url: http://localhost:9411/ # 设置zipkin的服务端路径 sleuth: sampler: probability: 1 # 采集率 默认 0.1 百分之十。
pom.xml
结果测试org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-actuatororg.springframework.cloud spring-cloud-starter-netflix-eureka-clientorg.springframework.cloud spring-cloud-starter-zipkin