0

我有三个微服务,通过 Kafka 进行通信。我正在使用 Brave 的 @Tracer。跟踪 id 是一致生成的,但是微服务 2 和 3 中的 parentId 不同。我们可以在整个微服务中生成一致的 parentId 吗?

谢谢。

4

1 回答 1

0

您使用的是什么版本的 Sleuth?如果是 3.x,请使用 Sleuth'sTracer而不是 Brave's。

由于 Spans 代表操作,因此spanId每个 Span 的 都不同Span,这parentId实际上是前一个(父级)的 Id,因此如果两个不同 Span 的 不相同(如果它们不共享相同的父级) Span,这是完全正常的parentId)。

请参阅文档:https ://docs.spring.io/spring-cloud-sleuth/docs/current/reference/htmlsingle/#getting-started-terminology

在此处输入图像描述

这里parentId的 Spans 如下:

  • 跨度 A:空
  • 跨度 B:A
  • 跨度 C:B
  • 跨度 D:C
  • 跨度 E:D
  • 跨度 F:C
  • 跨度 G:F
于 2021-09-27T17:36:55.890 回答