• SpringCloud(H版)学习---分布式请求链路追踪


      前言:不断学习就是程序员的宿命。

    一、概述

      在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的结果,每一个前段请求都会形成一个复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。

      SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供了追踪解决方案并且兼容支持了zipkin

      官网地址:https://spring.io/projects/spring-cloud-sleuth

     

    完整请求链:一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各Span通过parent id关联

     精简官方原理图: 一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各Span通过Parent Id关联

    整个链路的依赖关系如下:

     Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识

    span:表示调用链路来源,通俗的理解span就是一次请求信息

    二、链路监控搭建

      简单来说,Sleuth负责收集整理,zipkin负责展现。

    1、下载安装zipkin

      SpringCloud从F版已不需要自己搭建Zipkin Server了,只需调用jar包即可

      下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

      运行zipkin:zipkin-server-2.12.9-exec.jar

     2、测试

    2.1、pom添加sleuth依赖

       <!--包含了sleuth+zipkin-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zipkin</artifactId>
            </dependency>
    pom

    2.2、application.yml添加sleuth配置

    spring:
      application:
        name: cloud-consumer-order
      # zipkin/sleuth链路跟踪
      zipkin:
        base-url: http://localhost:9411
      sleuth:
        sampler:
          # 采样值介于0到1之间,1表示全部采集
          probability: 1
    application.yml

  • 相关阅读:
    IDEA操作git的一些常用技巧
    实现多Realm时,可能会出现的问题
    Solr入门-Solr服务安装(windows系统)
    ES6中的Set和Map集合
    ES6中的类
    ES6数组扩展
    ES6定型数组
    Promise和异步编程
    深入理解ajax系列第八篇
    深入理解ajax系列第六篇
  • 原文地址:https://www.cnblogs.com/rmxd/p/12588312.html
Copyright © 2020-2023  润新知