取推应用是什么意思

拉取与推模型



可以通过两种方式收集指标数据:拉取或推送。在这篇文章中,我们将看一下拉取模型。

图 1 显示了通过 HTTP 使用拉取模型进行数据收集。我们有专用的指标收集器,它们定期从正在运行的应用程序中提取指标值。

在此方法中,指标收集器需要知道要完整目标应用程序列表。一种粗暴的方法是使用文件来保存“指标收集器”服务器上每个服务终端点的 DNS/IP 信息。虽然这个想法很简单,但在频繁添加或删除服务器的大规模环境中很难维护这种方法。

好消息是,我们通过服务发现提供了一个可靠、可扩展且可维护的解决方案,该解决方案由 Kubernetes、Zookeeper 等提供,其中服务注册其可用性,并且每当服务终端点列表更改时,服务发现组件都可以通知指标收集器。服务发现包含有关何时何地收集指标的配置规则,如图 2 所示。

图 3 详细解释了拉取模型。

1️⃣ 指标收集器从服务发现中提取服务端点的配置元数据。元数据包括拉取间隔、IP 地址、超时和重试参数等。

2️⃣ 指标收集器通过预定义的 HTTP 终端点(例如/指标)提取指标数据。若要公开端点,通常需要将客户端库添加到服务中。在图 3 中,该服务是 Web 服务器。

3️⃣ (可选)指标收集器向服务发现注册更改事件通知,以便在服务终端点更改时接收更新。或者,指标收集器可以定期轮询终端点更改。