美文网首页
Sleuth链路跟踪

Sleuth链路跟踪

作者: 昨日已逝去 | 来源:发表于2019-02-27 09:46 被阅读1次

Sleuth链路跟踪

原文在github,有些相对路径连接不能跳转,如想看原文项目地址 spingboot2.1.3加springcloud G版本,如果觉的不错给个star 谢谢!

sleuth简介

随着业务的不断扩张,服务之间互相调用会越来越复杂。这时,如果想看一个请求的调用顺序是相当繁琐,所以引入sleuth记录调用请求。

前期准备

  • zipkin的安装

      只需要下载jar即可,下载地址:    
      https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
      运行命令: java -jar zipkin-server-2.9.0-exec.jar
      成功后访问 http://localhost:9411 可以看到链路界面效果
    

构建工程

构建三个服务调用链供展示使用

spring-cloud-sleuth-server

  • maven依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
  • application.properties配置
server.port=8008
spring.zipkin.base-url=http://localhost:9411
spring.application.name=spring-cloud-sleuth
  • 启动类示例
@SpringBootApplication
@RestController
public class SpringCloudSleuthApplication {

    @Autowired
    private RestTemplate restTemplate;

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudSleuthApplication.class, args);
    }

    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

    @RequestMapping("/hello")
    public String callHome(){
        System.out.println("calling trace service-hi  ");
        return restTemplate.getForObject("http://localhost:8009/hello", String.class);
    }
    @Bean
    public Sampler defaultSampler() {
        return Sampler.ALWAYS_SAMPLE;
    }
}

可以看到我们访问 http://localhost:8008/hello时,向8009发送了一个请求,所有我们应该有个端口有8009的服务。

spring-cloud-sleuth-clientAspring-cloud-sleuth-clientA代码和上述相同,不做代码展示。
直接启动这两个项目和spring-cloud-sleuth-server

访问 http://localhost:8008/hello

打开zipkin页面

sleuth-follow.png sleuth-dependeny.png

可以看到调用顺序,还有依赖关系。

相关文章

网友评论

      本文标题:Sleuth链路跟踪

      本文链接:https://www.haomeiwen.com/subject/yghxuqtx.html