实际上,什么是Opentracing API?它在跟踪系统中的作用是什么

时间:2019-01-23 10:35:10

标签: tracing zipkin opentracing jaeger

https://opentracing.io/上,他们指出opentracing API为:

  

与供应商无关的API和用于分布式跟踪的工具

好的,但是在实际应用程序的上下文中这实际上意味着什么?

此Opentracing API的实际组成部分是什么,它的目的是什么,以及它如何与其他与日志相关的系统(例如“ zipkin”和“ jaeger”)互动

  • 是否使用Opentracing API for Java才能声明“我的应用程序支持” opentracing?

  • 是否存在一个Opentracing协议(例如,通过有线发送数据),或者他们只是说opentracing是一个中间层,它允许其他多个跟踪框架相互操作? 特别是this diagram让我觉得如此。

1 个答案:

答案 0 :(得分:2)

OpenTracing是您的代码将直接与之交互的API。

基本上,您的应用程序将使用OpenTracing API进行“仪表化”,而具体的跟踪器(如Jaeger或Brave / Zipkin)将捕获数据并将其发送到某个地方。这样一来,您的应用程序就可以在整个代码中使用中性的API,这样您就可以从一个提供程序更改为另一个提供程序,而不必更改整个代码库。

另一种思考方式是OpenTracing就像Java日志记录世界中的SLF4J,而Jaeger和Zipkin是具体的实现,例如Java日志记录世界中的Log4j。