webflux的mono详解api(webflux mongodb)

webflux的mono详解api(webflux mongodb)文章目录 Jaeger OpenTracing Jaeger 架构图和组件 架构图 组件 1 Instrumentat OpenTracing API 组件 2 Jaeger client 组件 3 Jaeger agent 组件 4 Jaeger collector 组件 5 Jaeger query 搭建 Demo 流程 ES 代码解析 效果图 代码 最后

大家好,我是讯享网,很高兴认识大家。



文章目录

  • Jaeger OpenTracing
  • Jaeger架构图和组件
  • 架构图
  • 组件1 : Instrumentation + OpenTracing API
  • 组件2 : Jaeger-client
  • 组件3 : Jaeger-agent
  • 组件4 : Jaeger-collector
  • 组件5 : Jaeger-query
  • 搭建Demo流程[ES]
  • 代码解析
  • 效果图
  • 代码
  • 最后

架构图

jaeger ui如何使用_UI
讯享网

组件1 : Instrumentation + OpenTracing API

这两个是连在一块儿的,这两个东西都是插在我们业务代码里面的,就是要在我们的代码里面加入OpenTracing的代码。OpenTracing提供了很多语言的API,详细的可以看看上面的GitHub。对于Golang来说,主要的就是下面几个API:

可以看到上面的SetGlobalTracer是可以设置成其他的tracer的,比如zipkin其他的,如果需要改动tracer的话,就只需要改这个参数即可,不需要改动其他插入的代码。

组件2 : Jaeger-client

Jaeger的客户端就相当于上面的tracer,在代码里面SetGlobalTracer的时候,参数传的就是Jaeger-client New出来的一个实例。既然是客户端,那么服务端是什么呢?服务端是Jaeger-agent。

组件3 : Jaeger-agent

这个是Jaeger的服务端,客户端会把Span的信息通过Jaeger.Thrift UDP传给Jaeger-agent,再由Jaeger-agent把这些span的信息传给Jaeger-collector。

为啥不直接把信息传到collector?从上面的图我猜测,collector应该是对agent有采样率的限制,在代码里面可以看到相关的设置。

组件4 : Jaeger-collector

负责把Jaeger-agent传过来的数据写入队列,并且保存到设定的存储介质里面[内存,ES,kafka…]

组件5 : Jaeger-query

这个是负责从存储介质里面读取调用链信息的,并且这个query自带UI,可以在UI里面看到相关的调用链。

  1. 由于现在官网上面只支持ES5 和 ES6,所以我们可能不能使用最新的ES7,所以我们下载ES6:
    ES6

  2. 下载Jaeger相关组件二进制文件:
    Jaeger二进制文件

  3. 安装ES6,这个应该解包就能使用。
  4. 先启动ES,最好先启动ES,因为启动collector需要ES。
  5. 清除ES里面的相关index 清除index脚本
  6. 设置collector的环境变量,并且启动collector。
  7. 启动agent。
  8. 启动query。

jaeger ui如何使用_jaeger ui如何使用_02

② 蓝色框里面的内容:分别是query组件和collector组件跟ES建立的连接,collector负责往ES里面写,query负责从ES里面读。

③ 红色框是代码里面初始化Jaeger-client之后,client跟agent建立起的连接,6831这个接口在文档里面有说:

最关键的就是Jaeger的初始化和OpenTracing的初始化:

jaeger ui如何使用_jaeger ui如何使用_03

jaeger ui如何使用_UI_04

GitHub

这个只是Demo,并且采样率设置的是每一条记录都需要收集,具体的参数还需要查阅文档或者代码,这边博客的目的在于了解并且开始熟悉OpenTracing,之前我对于这个OpenTracing的概念是模糊的,而且加上了Jaeger之后我更懵逼了, 通过一个星期的自学,我自己走了一遍流程,发现还是可以按照文档做出来一个Demo的,还是算比较欣慰吧,希望能帮助到大家。

小讯
上一篇 2025-04-25 22:11
下一篇 2025-06-01 16:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/180640.html