当前位置:网站首页 > API设计与开发 > 正文

webflux的mono详解api(webflux mongodb)



文章目录

  • 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的,还是算比较欣慰吧,希望能帮助到大家。

到此这篇webflux的mono详解api(webflux mongodb)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 单片机设计与开发大赛(单片机设计与开发大赛什么时间考试)2026-05-18 11:36:08
  • 单片机设计100例(100个经典单片机设计实例)2026-05-18 11:36:08
  • nacos配置中心热更新原理(nacos配置中心api)2026-05-18 11:36:08
  • 单片机设计电子钟设计方案(单片机电子时钟设计方案)2026-05-18 11:36:08
  • 单片机设计制作(单片机自己设计)2026-05-18 11:36:08
  • webflux的mono详解api(webflux map)2026-05-18 11:36:08
  • 单片机课程设计指导书(单片机课程设计指导书)2026-05-18 11:36:08
  • 反激电路设计步骤(反激电路设计步骤包括)2026-05-18 11:36:08
  • 配置中心设计(配置中心的工作流程)2026-05-18 11:36:08
  • 单片机设计课程(单片机 课程)2026-05-18 11:36:08
  • 全屏图片