Spring Cloud(16)——链路追踪工具Sleuth
Posted elim168
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud(16)——链路追踪工具Sleuth相关的知识,希望对你有一定的参考价值。
追踪工具Sleuth
Spring Cloud Sleuth可以用来追踪微服务请求中的整个请求,通过它可以记录各个请求之间的耗时、异常等情况。使用Spring Cloud Sleuth时一般会跟Zipkin一起使用。Spring Cloud Sleuth收集到的一些跟踪信息可以发送给Zipkin,Zipkin提供了图形化界面方便查看服务之间的调用关系和调用耗时等情况。我们先来看几个Spring Cloud Sleuth里面的基本概念。
- service: 服务名,它默认就取
spring.application.name
。 - span : 直接翻译就是跨度,比如service1调用service2,这一个来回可以算一个span。每个span都由一个唯一的spanId标识。
- trace: 直接翻译就是追踪的意思。它由一系列的span组成。通常在第一个服务接收到请求时开启一个trace,生成一个唯一的traceId,后续的所有追踪都可以沿用这同一个traceId,这样就可以来唯一的标识这一整个调用链路。
- annotation: 标记追踪过程中的一个事件,记录事件发生的时间。通过记录多个事件发生的时间就可以知道任意两个事件之间的耗时情况。Spring Cloud Sleuth默认会记录如下这几种事件。
- Client Sent: 客户端发送。记录客户端发起请求的时间,也是一个span的起点。
- Server Received: 服务端接收。记录服务端接收到请求的时间,它的时间减去客户端发送的时间就是客户端到服务端的网络时延。
- Server Sent: 服务端发送。记录服务端处理结束,进行结果响应的时间。它的时间减去服务端接收的时间就是服务端业务逻辑处理的时间。
- Client Received: 客户端接收。记录客户端完成整个请求,接收到服务端响应内容的时间。它的时间减去
以上是关于Spring Cloud(16)——链路追踪工具Sleuth的主要内容,如果未能解决你的问题,请参考以下文章