minio源码-prometheus(普罗米修斯)

13小时前 (20:58:48)阅读1回复0
kewenda
kewenda
  • 管理员
  • 注册排名1
  • 经验值118790
  • 级别管理员
  • 主题23758
  • 回复0
楼主

【写在最前:本文所有图片对应的描述为图片上方文字块】

笔者比来的项目在涉及到了Prometheus那部门,阅读了部门源码,特此记录。

起首,本文次要介绍是minio-Prometheus中的

/v2/metrics/cluster

在整个项目中搜刮该api,定位到了位于cmd包下的metrics-router.go。有趣,那里供给了3个接口,笔者本身有利用过的是前两个,第三个“/v2/metrics/node”,参考之前利用“v2/metrics/node”,我推测用来恳求某一个节点利用,而非“/v2/metrics/cluster”那种是间接恳求minio集群。本文次要介绍“/v2/metrics/cluster”那个api。

同其他的绝大大都的http应用,那里做了路由的注册。

间接逃溯registerMetricsRouter办法

能够看到有两处挪用,我们那里先看在routers.go中的挪用,逐级往上看;挪用关系如下:

能够看到,整个流程仍是比力明晰的;

那里贴一段http.net那个框架大致的http server端承受恳求流程,能够拿来做为参考。 办事器在领受到恳求时,起首会进入路由 ( router ),那是一个 Multiplexer,路由的工做在于为那个 request 找到对应的处置器 ( handler ),处置器对 request 停止处置,并构建 response。Golang 实现的 http server 同样遵照如许的处置流程。

2022-0814

方案在那里更新一些对go中的http包的理解,未完待续。

0
回帖

minio源码-prometheus(普罗米修斯) 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息