SpringCloud 使用Zipkin进行分布式跟踪

2023-11-30 15:31 更新

本示例有七个spans。如果转到Zipkin中的跟踪,则可以在第二个跟踪中看到此数字,如下图所示:

痕迹

但是,如果选择特定的跟踪,则可以看到四个spans,如下图所示:

跟踪信息传播

 选择特定跟踪时,您会看到合并的spans。这意味着,如果有两个spans发送到Zipkin,并且带有“服务器已接收和服务器已发送”或“客户端已接收和客户端已发送”注释,它们将显示为单个跨度。

在这种情况下,为什么七个spans和四个spans之间有区别?

  • 一个跨度来自http:/start跨度。它具有服务器已接收(sr)和服务器已发送(ss)批注。
  • service1service2http:/foo端点的RPC调用中有两个spans。客户发送(cs)和客户接收(cr)事件在service1端发生。服务器已接收(sr)和服务器已发送(ss)事件在service2端发生。这两个spans构成一个与RPC调用相关的逻辑范围。
  • service2service3http:/bar端点的RPC调用中有两个spans。客户发送(cs)和客户接收(cr)事件在service2端发生。服务器已接收(sr)和服务器已发送(ss)事件在service3端发生。这两个spans构成一个与RPC调用相关的逻辑范围。
  • service2service4http:/baz端点的RPC调用中有两个spans。客户发送(cs)和客户接收(cr)事件在service2端发生。服务器已收到(sr)和服务器已发送(ss)事件在service4端发生。这两个spans构成一个与RPC调用相关的逻辑范围。

因此,如果我们计算物理量spans,则有一个来自http:/start的实体,两个来自service1的实体,调用service2,两个来自service2的实体,调用service3,还有两个来自service2致电service4总而言之,我们总共有七个spans。

从逻辑上讲,我们看到四个跨度的信息,因为我们有一个跨度与到service1的传入请求有关,而有三个spans与RPC调用有关。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号