工具自动化作为微服务

Tools Automation as micro service

我正在考虑为一组工具构建一个微服务架构。

每个工具都有单独的 API 实现、公开。它们部署在各自的专用虚拟机中。 比方说,我有 3 个工具。

  1. 具有功能的工具 1 在 VM1
  2. 中实现并公开为 API1、API2、API3
  3. 具有功能的工具 2 在 VM2
  4. 中实现并公开为 API1、API2、API3、API4
  5. Tool3 with Features 在 VM3

我计划从一个集中位置 (VM4) 管理所有工具。作为微服务 API 服务器。 每个工具功能将被称为,

因此,VM4 中的 API 实现将调用外部 API,它在其相应的工具服务器中(在 VM1 / VM2 / VM3 等中)

我的问题

  1. 这是将所有工具集成到单个 API 服务器中的好方法,即使每个工具在其专用 VM 中都有单独的 API 实现。
  2. 如果是,我如何将所有工具集成到一个地方。? a) 我需要从新的微服务中调用工具 APIs 吗? ? b) 或者,我是否需要在新服务器中拥有所有工具 API 的完整源代码。 ?
  3. 我真的需要微服务设计吗,。 ?

提前致谢。

How can I integrate all tools in a single place .?

一种选择是在 VM4 上使用反向代理。否则,不清楚您是如何转发这些请求的

其他选项是创建 GraphQL API 而不是公开 URL 路由

do I need to have the entire source of all tool APIs within the new server. ?

我想这取决于他们运行,但如果 HTTP 是您的沟通渠道,那么就不会

Do I really need micro service design for this

我会考虑这种分布式计算,而不是微服务。在“微服务”普及之前,许多组织在各种内部服务之间组合了多次 api 调用