trace - 实际上什么是 Opentracing API,它在跟踪系统中的作用是什么
问题描述
在https://opentracing.io/他们声明 opentracing API 是:
用于分布式跟踪的供应商中立 API 和工具
好的,但是在实际应用程序的上下文中这实际上意味着什么?
这个 Opentracing API 实际上由哪些部分组成,它的目的是什么以及它如何与“zipkin”和“jaeger”等其他日志相关系统交互
是否需要使用Opentracing API for Java 才能声明“我的应用支持”opentracing?
是否有一个 Opentracing 协议(例如通过网络发送数据),或者他们只是说 Opentracing 是一个中间层,它允许多个其他跟踪框架相互操作?尤其是这张图让我这么想。
解决方案
OpenTracing 是您的代码将直接与之交互的 API。
基本上,您的应用程序将使用 OpenTracing API 进行“检测”,而具体的跟踪器(如 Jaeger 或 Brave/Zipkin)将捕获数据并将其发送到某处。这允许您的应用程序在整个代码中使用中性 API,以便您可以从一个提供程序更改为另一个提供程序,而无需更改整个代码库。
另一种思考方式是,OpenTracing 就像 Java 日志世界中的 SLF4J,而 Jaeger 和 Zipkin 是具体的实现,例如 Java 日志世界中的 Log4j。
推荐阅读
- javascript - 如何使用 getItemLayout 道具
在 React Native 中? - c - 从 .c/.h 源文件中去除尾随空格是否 100% 安全?
- c# - 验证 Web api 控制器是否需要以编程方式授权
- c - 找不到从 linux 入口点交叉编译的 windows curl_easy_cleanup 找不到
- r - R中缺失值的线性插值
- android - ViewModel 可以实现 LifecycleOwner 吗?
- typescript - 自引用类型 - 有可能吗?
- laravel - 为什么我不能将输入请求中的空字符串直接保存到相应的会话变量中?
- python - 查找最大值子数组的索引并将其应用于该子数组
- java - 将 dat 转换为链表