【发布时间】:2021-03-24 09:03:03
【问题描述】:
一点背景:
我们有大约 10 个 Spring Boot 微服务,它们通过 kafka 相互通信。每个微服务的日志都会发送到 Kibana,如果出现错误,我们必须对 Kibana 日志进行筛选。
好消息是:在任何流程开始时,我们的一个微服务都会生成一个消息 ID,并将其作为消息传输的一部分传播给所有其他微服务(其中通过 kafka 发生),因此我们可以在日志中搜索 message-id,我们可以看到该流在我们所有微服务中的足迹。
不好的部分:必须筛选大量的日志才能大致了解发生故障的位置和原因。
现在的问题:
所以我想知道我们是否可以实现一些分布式跟踪,也许通过 Zipkin(或其他一些开放跟踪框架)可以使用我们的生态系统已经产生的消息 ID,而不是生成一个新的?
感谢您的宝贵时间:)
【问题讨论】:
标签: spring-boot microservices zipkin opentracing distributed-tracing