1

一点背景:

我们有大约10 个 Spring Boot 微服务,它们通过 kafka 相互通信。每个微服务的日志都会发送到 Kibana,如果出现任何错误,我们必须对 Kibana 日志进行筛选。

好消息是:在任何流程开始时,我们的一个微服务都会生成一个 message-id,并作为消息传输的一部分(通过 kafka 发生)传播给所有其他微服务,因此我们可以搜索日志中的 message-id,我们可以看到该流在我们所有微服务中的足迹。

不好的部分:必须筛选大量日志才能基本了解事情发生的位置和原因。

现在的问题:

所以我想知道我们是否可以实现一些分布式跟踪,也许通过 Zipkin(或其他一些开放式跟踪框架)可以使用我们的生态系统已经产生的消息 ID,而不是生成一个新的?

感谢您的时间 :)

4

1 回答 1

0

我不完全确定这是否是您的意思,但您可以使用 Jeager https://www.jaegertracing.io/ 检查调用元数据中是否已存在跟踪 ID 并在其中生成子跟踪 ID。基于所有跟踪 id 生成调用图

于 2021-03-25T22:23:10.170 回答