首页 > 解决方案 > 从服务器上部署的 Spring Boot 应用程序中读取 API 元数据

问题描述

我正在尝试构建一个自动化的 API 报告功能,我们需要为此扫描 Linux 服务器以查找所有已部署的 API(spring boot 应用程序)。一旦我得到一些关于已部署 APIS 的元数据,我想点击执行器端点并捕获更多元数据,如已部署 API 的内存等。

有没有办法可以扫描这个?任何帮助将不胜感激。我用谷歌搜索,但它不符合我的需要。早些时候的想法是访问 zuul 网关并获取信息,但是我们在多个服务器上部署了许多应用程序,因此不确定它是如何工作的。

更新:因为人们没有得到我的问题。假设我在我的服务器上部署了 10 个服务。我需要调用这 10 个服务的执行器端点,但我不知道每个服务的 URL。那么如何在不硬编码每个服务的主机名/上下文:端口的情况下动态确定它?我应该能够扫描所有已部署的应用程序并获取它们的服务 URI,然后将其提供给聚合器服务,该服务将调用所有服务的执行器端点。在任何地方都没有对任何服务 URI 进行硬编码。这样,当在服务器上部署新服务时,我不希望应用程序开发人员去使用他们的服务 url 更新文件。

标签: javaspring-bootapimetadatareporting

解决方案


过去,我为此使用过 Spring Cloud Discovery。
我会让我的应用程序使用 Eureka Discovery Client 向 Eureka Server 注册自己。

然后,使用脚本/报告应用程序,向 Eureka Server 询问所有已注册的应用程序 (/eureka/apps),您可以从中获取为每个 API 加载数据所需的所有信息。

在此处输入图像描述


推荐阅读