Spring Cloud Sleuth

冷不防 2023-03-12 07:23 265阅读 0赞

zipkin-server-2.10.1-exec.jar 下载地址zipkin-server-2.10.1-exec.jar
命令运行
java -jar zipkin-server-2.10.1-exec.jar
访问地址:http://localhost:9411/zipkin/

在这里插入图片描述


spring-cloud-sleuth-provider

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-zipkin</artifactId>
  4. </dependency>

application.yml

  1. server:
  2. port: 6818
  3. spring:
  4. application:
  5. name: spring-cloud-sleuth-provider
  6. zipkin:
  7. base-url: http://127.0.0.1:9411/
  8. ###全部采集
  9. # 默认是0.1 抽样采集,修改为1.0 为全部采集,但是影响接口使用效率
  10. sleuth:
  11. sampler:
  12. probability: 1.0
  13. eureka:
  14. client:
  15. serviceUrl:
  16. defaultZone: http://localhost:6888/eureka/

SpringCloudSleuthProviderApplication.java

  1. package com.mingshine.cloud;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class SpringCloudSleuthProviderApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(SpringCloudSleuthProviderApplication.class, args);
  8. }
  9. }

TestController.java

  1. package com.mingshine.cloud;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. import java.util.UUID;
  6. @RestController
  7. public class TestController {
  8. @Value("${server.port}")
  9. private String serverPort;
  10. @RequestMapping("/test")
  11. public String test() {
  12. return "spring-cloud-sleuth-provider: test========" + serverPort + "\t" + UUID.randomUUID().toString();
  13. }
  14. }

spring-cloud-sleuth-consumer

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-zipkin</artifactId>
  4. </dependency>

application.yml

  1. server:
  2. port: 6819
  3. spring:
  4. application:
  5. name: spring-cloud-sleuth-consumer
  6. zipkin:
  7. base-url: http://127.0.0.1:9411/
  8. sleuth:
  9. sampler:
  10. probability: 1.0
  11. eureka:
  12. client:
  13. serviceUrl:
  14. defaultZone: http://localhost:6888/eureka/

ApplicationContextConfig.java

  1. package com.mingshine.cloud;
  2. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.client.RestTemplate;
  6. @Configuration
  7. public class ApplicationContextConfig {
  8. @Bean
  9. @LoadBalanced
  10. public RestTemplate getTemplate(){
  11. return new RestTemplate();
  12. }
  13. }

SpringCloudSleuthConsumerApplication.java

  1. package com.mingshine.cloud;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class SpringCloudSleuthConsumerApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(SpringCloudSleuthConsumerApplication.class, args);
  8. }
  9. }

TestController.java

  1. package com.mingshine.cloud;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. import org.springframework.web.client.RestTemplate;
  5. import javax.annotation.Resource;
  6. @RestController
  7. public class TestController {
  8. private static final String INVOKE_URL = "http://spring-cloud-sleuth-provider";
  9. @Resource
  10. private RestTemplate restTemplate;
  11. @GetMapping(value = "/test")
  12. public String test(){
  13. String result = restTemplate.getForObject(INVOKE_URL + "/test", String.class);
  14. return result;
  15. }
  16. }

发表评论

表情:
评论列表 (有 0 条评论,265人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring cloud-sleuth原理浅析

    > 本文基于sleuth 2.2.5版本 sleuth是一个链路追踪工具,通过它在日志中打印的信息可以分析出一个服务的调用链条,也可以得出链条中每个服务的耗时,这为我们在实际

    相关 Spring Cloud Sleuth配置

    将业务系统划分为数量众多的微服务,各个微服务之间通过Rest协议进行调用,如果 调用链路上的任意一个微服务出现故障或网络超时,都会导致整个功能失败,伴随 微服务模块数量