微服务调用链路监控actuator-sleuth-Zipkin

一:链路追踪/监控应用:

Zipkin(基于sleuth分布式跟踪系统,主要用来收集系统的时序数据,从而追踪系统的调用问题,特点是轻量,使用部署简单)

Pinpoint、SkyWalking、CAT

 

二:为什么需要「 调用链监控 」?

调用链监控系统都由 数据埋点采集、数据存储处理、数据分析展示 几大部分组成

1、项目网络拓扑图

2、快速定位问题:微服务非常复杂,一个请求可能会经过多个服务节点

3、优化系统

4、提高团队成员自律

 

三:调用链监控原理

1、调用链监控3个核心概念:

Trace:trace id 全局唯一标识,经过多少节点保持不变,通过其将路径串联起来

Trace是指一次请求调用的链路过程,trace id 是指这次请求调用的ID。在一次请求中,会在网络的最开始生成一个全局唯一的用于标识此次请求的trace id,这个trace id在这次请求调用过程中无论经过多少个节点都会保持不变,并且在随着每一层的调用不停的传递。最终,可以通过trace id将这一次用户请求在系统中的路径全部串起来。

Span:

Span是指一个模块的调用过程,一般用span id来标识。在一次请求的过程中会调用不同的节点/模块/服务,每一次调用都会生成一个新的span id来记录。这样,就可以通过span id来定位当前请求在整个系统调用链中所处的位置,以及它的上下游节点分别是什么。

Annotation:

是指附属信息,可以用于附属在每一个Span上自定义的数据。

微服务调用链路监控actuator-sleuth-Zipkin_第1张图片

从图中可见,一次请求只有一个唯一的trace id=12345,在请求过程中的任何环节都不会改变。在这个请求的调用链中,SpanA调用了SpanB,然后SpanB又调用了SpanC和SpanD,每一次Span调用都会生成一个自己的span id,并且还会记录自己的上级span id是谁。通过这些id,整个链路基本上就都能标识出来了。

所有的调用链监控系统都由 数据埋点采集、数据存储处理、数据分析展示 几大部分组成,Zipkin也不例外。

你可能感兴趣的:(调用链路监控,actuator,zipkin)