Sleuth分布式请求链路跟踪基本概念与配置

207 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

简介:Quartz是一个任务调度框架,简单来说,就是在某个时间点 、时间段,做某件事。

—— 核心概念

Job:代表一个工作,要执行的具体内容。这是一个接口,可实现该接口,重写execute方法(做什么)

JobDetail:代表一个具体的可执行的调度程序,Job是这个可执行程序所要执行的内容

Trigger:代表一个调度参数的配置,什么时候去调用执行(什么时候做)

Scheduler:代表一个计划调度容器,一个调度容器中可以注册多个JobDetail和Trigger。当容器启动时,里面的每个JobDetail都会根据Trigger条件自动地执行。Scheduler是个容器,容器中有一个线程池,用来并行调度执行每个作业,这样可提高容器的效率。

SchedulerFactory:代表一个工厂,用来创建一个Scheduler调用容器。

原理图 在这里插入图片描述

——Cron表达式

组成

在这里插入图片描述 符号

在这里插入图片描述

springboot整合Quartz地址github.com/xulejun/boo…

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

Sleuth

完整调用链路

  • 一条链路通过Trace id唯一标识,Span标识发起的请求信息,各Span通过parent id关联起来
  • Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识
  • Span:表示调用链路来源,可以理解为一次请求信息

实操

  1. pom文件
        <!-- 包含了sleuth zipkin 数据链路追踪-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
  1. yml文件
spring:
  application:
    name: cloud-order-service
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      # 采样率值介于0到1之间,1表示全部采集
      probability: 1