目前,我们分析了一个可能的分布式跟踪工具,用于事件驱动的Microservice体系结构。
它现在看起来有点像下面的图片。

据我所知,与jaeger集成的所有应用程序(具有适当的jaeger依赖关系的spring引导应用程序)都将创建一个基于中间件的span (在我的例子中,主要是kafka )。
我的问题是,在调用链上,是否有一个调用的应用程序允许第三方API中没有jaeger跟踪集成。它会打破追踪链条吗?
或者,如果主应用程序链使用kafka在服务中进行通信,那么如何确保跟踪不被中断?
如果有人为此编写自定义代码,不幸的是,我在他们的文档中找不到答案。https://www.jaegertracing.io/docs/1.36/getting-started/
发布于 2022-07-18 08:09:14
,我的问题是,在调用链的某个地方,是否有一个应用程序可以调用一个没有jaeger跟踪集成的第三方API。它会打破追踪链条吗?
在上面描述的设置中,对第三方的调用可能不会出现在跟踪中。但他们不会打破锁链。例如,列表中的第二个"jaeger集成“应用程序在这里打了两个电话。对第三方和另一个仪器化应用程序。对其他仪器化应用程序(和下游应用程序)的调用肯定会出现在jaeger图上。
打电话给第三方要稍微困难一些。如果您正在通过代理调用,您可以访问该代理,则可以在此时添加与呼叫相关的遥测信息。
另一种可能更简单的方法是跟踪来自仪器应用程序的传出呼叫。
https://stackoverflow.com/questions/72942129
复制相似问题