首页 > 其他分享 >springcloud Sleuth 链路追踪

springcloud Sleuth 链路追踪

时间:2022-12-10 12:04:28浏览次数:49  
标签:Sleuth 服务 请求 springcloud 标识 链路 Span 追踪

1. 分布式链路追踪技术核⼼思想

下图描述了⼀个常⻅的调⽤场景,⼀个请求通过⽹关服务路由到下游的微服务-1,然后微服务-1调⽤微服务-2,拿到结果后再调⽤微服务-3,最后组合微服务-2和微服务-3的结果,通过⽹关返回给⽤户

springcloud  Sleuth 链路追踪_链路

上图标识⼀个请求链路,⼀条链路通过TraceId唯⼀标识,span标识发起的请求信息,各span通过parrentId关联起来
Trace:服务追踪的追踪单元是从客户发起请求(request)抵达被追踪系统的边界开始,到被追踪系统向客户返回响应(response)为⽌的过程
Trace ID:为了实现请求跟踪,当请求发送到分布式系统的⼊⼝端点时,只需要服务跟踪框架为该请求创建⼀个唯⼀的跟踪标识Trace ID,同时在分布式系统内部流转的时候,框架失踪保持该唯⼀标识,直到返回给请求⽅
⼀个Trace由⼀个或者多个Span组成,每⼀个Span都有⼀个SpanId,Span中会记录TraceId,同时还有⼀个叫做ParentId,指向了另外⼀个Span的SpanId,表明⽗⼦关系,其实本质表达了依赖关系
Span ID:为了统计各处理单元的时间延迟,当请求到达各个服务组件时,也是通过⼀个唯⼀标识Span ID来标记它的开始,具体过程以及结束。对每⼀个Span来说,它必须有开始和结束两个节点,通过记录开始Span和结束Span的时间戳,就能统计出该Span的时间延迟,除了时间戳记录之外,它还可以包含⼀些其他元数据,⽐如时间名称、请求信息等。
每⼀个Span都会有⼀个唯⼀跟踪标识 Span ID,若⼲个有序的 span 就组成了⼀个trace。
Span可以认为是⼀个⽇志数据结构,在⼀些特殊的时机点会记录了⼀些⽇志信息,⽐如有时间戳、spanId、TraceId,parentIde等,Span中也抽象出了另外⼀个概念,叫做事件,核⼼事件如下
CS :client send/start 客户端/消费者发出⼀个请求,描述的是⼀个span开始
SR: server received/start 服务端/⽣产者接收请求 SR-CS属于请求发送的⽹络延迟
SS: server send/finish 服务端/⽣产者发送应答 SS-SR属于服务端消耗时间
CR:client received/finished 客户端/消费者接收应答 CR-SS表示回复需要的时间(响应的⽹络延迟)

2.Spring Cloud Sleuth (追踪服务框架)

可以追踪服务之间的调⽤,Sleuth可以记录⼀个服务请求经过哪些服务、服务处理时⻓等,根据这些,

我们能够理清各微服务间的调⽤关系及进⾏问题追踪分析。
耗时分析:通过 Sleuth 了解采样请求的耗时,分析服务性能问题(哪些服务调⽤⽐较耗时)
链路优化:发现频繁调⽤的服务,针对性优化等
Sleuth就是通过记录⽇志的⽅式来记录踪迹数据的
注意:我们往往把Spring Cloud Sleuth 和 Zipkin ⼀起使⽤,把 Sleuth 的数据信息发送给 Zipkin 进⾏聚合,利⽤ Zipkin 存储并展示数据。

springcloud  Sleuth 链路追踪_微服务_02

 

标签:Sleuth,服务,请求,springcloud,标识,链路,Span,追踪
From: https://blog.51cto.com/muzinan110/5927419

相关文章

  • springcloud GateWay网关
    GateWay如何工作客户端向SpringCloudGateWay发出请求,然后在GateWayHandlerMapping中找到与请求相匹配的路由,将其发送到GateWayWebHandler;Handler再通过指定的过滤器链......
  • 玩转 Go 链路追踪
    前言链路追踪是每个微服务架构下必备的利器,go-zero当然早已经为我们考虑好了,只需要在配置中添加配置即可使用。关于go-zero如何追踪的原理追溯,之前已经有同学分享,这里我......
  • SpringCloud学习 系列七、EurekaServer集群创建
    系列导航SpringCloud学习系列一、前言-为什么要学习微服务SpringCloud学习系列二、简介SpringCloud学习系列三、创建一个没有使用springCloud的服务提供者和消费......
  • springcloud alibaba nacos+sentinel
    Nacos数据模型(领域模型)Namespace:命名空间,对不同的环境进行隔离,比如隔离开发环境、测试环境和生产环境概念描述Group:分组,将若干个服务或者若干个配置集归为一组,通常习惯......
  • springcloud部署启动报错Server check fail, please check server 192.168.41.61 ,por
    这两天部署一个新的若依springcloud系统,nacos安装启动没有问题,但是jar包启动的时候一直报错Servercheckfail,pleasecheckserver192.168.41.61,port9848isavailab......
  • Springcloud不能识别bootstrap配置文件
    方法一:引用spring-cloud-starter-bootstrap包(推荐)<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</ar......
  • 【SpringCloud Alibaba 最新版 全新微服务框架搭建(预告片~~)】
    【SpringCloudAlibaba 最新版 全新微服务框架搭建(预告片~~)】 https://www.bilibili.com/video/BV1hP411M74a/?share_source=copy_web&vd_source=d9abe505a6abb4a85......
  • HCIP-ICT实战进阶08-以太网链路的聚合和集群
    HCIP-ICT实战进阶08-以太网链路的聚合和集群1网络可靠性需求网络可靠性可以从设备、链路多个层面实现,保持当前设备或链路出现单点或者多点故障时保证网络服务不间断......
  • springcloud Config 分布式配置中心
     Server端:提供配置⽂件的存储、以接⼝的形式将配置⽂件的内容提供出去,通过使⽤@EnableConfigServer注解在Springboot应⽤中⾮常简单的嵌⼊Client端:通过接⼝获取配置......
  • springcloud Stream消息驱动
    SpringCloudStream是⼀个构建消息驱动微服务的框架。应⽤程序通过inputs(相当于消息消费者consumer)或者outputs(相当于消息⽣产者producer)来与SpringCloudStream中的bin......