springcloud之链路追踪整合sleuth(十三)

天宇轩-王      2022-05-20     571

关键词:

前言

SpringCloud 是微服务中的翘楚,最佳的落地方案。

在一个完整的微服务架构项目中,服务之间的调用是很复杂的,当其中某一个服务出现了问题或者访问超时,很

难直接确定是由哪个服务引起的,所以就有了 Spring Cloud Sleuth 链路跟踪。通过它,我们就可以很清楚直观

的了解每一个服务请求经过了哪些服务,用时多久,谁依赖谁或者被谁依赖。

代码

  • product-service

          
              <dependency>
                 <groupId>org.springframework.cloud</groupId>
                 <artifactId>spring-cloud-starter-sleuth</artifactId>
                </dependency>
    • service层

    @Override
        public Product findById(int id) {
            logger.info("product service");
            return daoMap.get(id);
        }

     

  • order-service    

        <dependency>
                 <groupId>org.springframework.cloud</groupId>
                 <artifactId>spring-cloud-starter-sleuth</artifactId>
                </dependency>

     

    • web层

     1     @RequestMapping("/save")
     2     @HystrixCommand(fallbackMethod = "saveOrderFail")
     3     public Object save(@RequestParam("user_id") int userId, @RequestParam("product_id") int productId, HttpServletRequest request) {
     4 //        String token = request.getHeader("token");
     5 //        String cookie = request.getHeader("cookie");
     6         logger.info("order service");
     7 //        System.out.println(token);
     8 //        System.out.println(cookie);
     9         Map<String, Object> data = new HashMap<>();
    10         data.put("code", 0);
    11         data.put("data", productOrderService.save(userId, productId));
    12         return data;
    13     }

     

  • 执行结果

    order

  • 2019-10-22 20:12:33.130  INFO [order-service,bc9f3fc07473127b,4069d9f942d534fe,false] 15784 --- [derController-2] c.t.o.controller.OrderController         : order service
    ?
  • product

    2019-10-22 20:12:33.138  INFO [product-service,bc9f3fc07473127b,88a890468bdb7e73,false] 15076 --- [nio-8772-exec-5] c.t.p.service.impl.ProductServiceImpl    : product service
    ?

     

    总结:

    1、第一个值,spring.application.name的值

    2、第二个值,96f95a0dd81fe3ab ,sleuth生成的一个ID,叫Trace ID,用来标识一条请求链路,一条请求链路中包含一个Trace ID,多个Span ID

    3、第三个值,852ef4cfcdecabf3、spanid 基本的工作单元,获取元数据,如发送一个http

    4、第四个值:false,是否要将该信息输出到zipkin服务中来收集和展示。

     

springcloud系列之sleuth链路追踪

随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了... 查看详情

微服务实践之全链路追踪(sleuth,zipkin)详解-springcloud(2021.0.x)-4(代码片段)

...自由转载出自:shusheng007文章目录前言链路追踪理论SpringCloud的实现方案Zipkin服务引入依赖配置使用总结源码前言本文将介绍微服务架构中关于链路追踪相关组件Sleuth与Zipkin的在SpringCloud入门使用。链路追踪为什么要进行链路... 查看详情

sleuth+zipkin实现springcloud链路追踪(代码片段)

文章目录一、前言二、应用架构图三、快速了解Sleuth四、准备工作1、搭建Zipkin单机环境2、搭建naocos单机环境五、微服务整合Sleuth1、创建SpringBoot工程2、配置文件3、实现核心代码六、集成Zipkin1、引入客户端2、配置文件3、运行效... 查看详情

springcloud系列微服务的链路追踪(代码片段)

微服务的链路追踪概述1、微服务架构下的问题2、Sleuth概述2.1、Sleuth简介2.2、相关概念2.3、链路追踪Sleuth入门3、Zipkin的概述3.1、ZipkinServer的部署和配置4、客户端Zipkin+Sleuth整合5、基于消息中间件收集数据5.1、RabbitMQ的安装与启... 查看详情

java之springcloud微服务的链路追踪sleuth和zipkin(第三个阶段)springboot项目实现商品服务器端是调用(代码片段)

Java之SpringCloud微服务的链路追踪Sleuth和Zipkin(第三个阶段)【三】【SpringBoot项目实现商品服务器端是调用】一、微服务的链路追踪概述1、微服务架构下的问题2、Sleuth概述(1)简介(2)相关概念3、链路追... 查看详情

java之springcloud微服务的链路追踪sleuth和zipkin(第三个阶段)springboot项目实现商品服务器端是调用

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

springcloud(16)——链路追踪工具sleuth(代码片段)

追踪工具SleuthSpringCloudSleuth可以用来追踪微服务请求中的整个请求,通过它可以记录各个请求之间的耗时、异常等情况。使用SpringCloudSleuth时一般会跟Zipkin一起使用。SpringCloudSleuth收集到的一些跟踪信息可以发送给Zipkin,Zipkin提供... 查看详情

微服务实践之全链路追踪(sleuth,zipkin)详解-springcloud(2021.0.x)-4(代码片段)

...自由转载出自:shusheng007文章目录前言链路追踪理论SpringCloud的实现方案Zipkin服务引入依赖配置使用总结源码前言本文将介绍微服务架构中关于链路追踪相关组件Sleuth与Zipkin的在SpringCloud入门使用。链路追踪为什么要进行链路... 查看详情

springcloud链路追踪sleuth+twitterzipkin中zipkin服务

2021年5月15日随笔springboot2.2.x版本以上,不建议自己写服务了,我尝试了很多方法没有成功,各种问题,所以需要下载它的jar包然后执行 下载地址:https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.23.2/zipkin-server-2.23.2-exec.jar下载完... 查看详情

sleuth+zipkin实现springcloud链路追踪(代码片段)

文章目录一、前言二、应用架构图三、快速了解Sleuth四、准备工作1、搭建Zipkin单机环境2、搭建naocos单机环境五、微服务整合Sleuth1、创建SpringBoot工程2、配置文件3、实现核心代码六、集成Zipkin1、引入客户端2、配置文件3、运行效... 查看详情

5.springcloud--配置中心config消息总线bus链路追踪sleuth配置中心nacos(代码片段)

5.SpringCloud--配置中心Config、消息总线Bus、链路追踪Sleuth、配置中心Nacos一、引入配置中心1.1问题与解决二、配置中心--Config2.1Config是什么?(1)Config是什么?(2)Config功能2.2搭建配置中心(ConfigServer... 查看详情

十八.springcloud极简入门-zipkin整合rabbitmq使用elasticsearch存储的高性能链路追踪方案

前言之前讲过一个版本的Zipkin链路追踪,《Sleuth整合ZipKin链路追踪》,讲了Zipkin的工作流程,以及简单集成Zipkin,这篇文章将会对之前的方案进行升级,使用RabbitMQ异步收集数据,使用ElasticSearch进行数据存... 查看详情

十八.springcloud极简入门-zipkin整合rabbitmq使用elasticsearch存储的高性能链路追踪方案(代码片段)

前言之前讲过一个版本的Zipkin链路追踪,《Sleuth整合ZipKin链路追踪》,讲了Zipkin的工作流程,以及简单集成Zipkin,这篇文章将会对之前的方案进行升级,使用RabbitMQ异步收集数据,使用ElasticSearch进行数据存... 查看详情

链路追踪之sleuth全生命周期分析(代码片段)

...DDD重构后,所有依赖重新整理,试运行期间发现链路追踪的抓取信息不够丰富,就翻下原来的项目源码,再看下对应的改造下。环境依赖kafkaelasticsearch7.10.0(jdk11)Kibana7.10zipkinserversleuth随着微服务的应用&#x... 查看详情

全链路追踪spring-cloud-sleuth-zipkin

...候,请求链路的追踪是十分有必要的,鉴于项目中采用的springcloud架构,所以为了方便使用,便于接入等项目中采用了springcloudsleuth+zipkin。现总结如下:   springcloudsleuth+zipkin 总共分为几个角色:    1... 查看详情

springcloud分布式链路跟踪sleuth+zipkin+elasticsear

...一个具体的实例来体会一把微服务链路追踪:本文使用的SpringCloudFinch 查看详情

springcloud分布式链路跟踪sleuth+zipkin+elasticsear

...一个具体的实例来体会一把微服务链路追踪:本文使用的SpringCloudFinch 查看详情

springcloud-springcloud之sleuth分布式链路跟踪;zipkin埋点数据;elasticsearch数据持久化(十八)(代码片段)

阅读本文前可先参考​​​​​​SpringCloud-SpringCloud根/父项目,开发准备(二)_MinggeQingchun的博客-CSDN博客一、SpringCloudSleuth微服务有几种监控方式,如SpringBootActuator监控微服务,SpringBootAdmin监控微服务,Hy... 查看详情