我正在考虑为一组工具构建一个微服务架构。
每个工具都有单独的 API 实现和公开。它们部署在其专用的虚拟机中。比方说,我有 3 个工具。
- 具有功能的 Tool1 在 VM1 中实现并公开为 API1、API2、API3
- 具有功能的 Tool2 在 VM2 中实现并公开为 API1、API2、API3、API4
- 具有功能的 Tool3 在 VM3 中实现并公开为 API1、API2、API3、API4、API5
我计划从一个集中的地方(VM4)管理所有工具。作为微服务 API 服务器。每个工具功能都将被称为,
- http://<host_of_VM4>/tool1/callapi1
- http://<host_of_VM4>/tool1/callapi2
- http://<host_of_VM4>/tool2/callapi3
- http://<host_of_VM4>/tool3/callapi5
因此,VM4 中的 API 实现将调用其相应工具服务器中的外部 API(在 VM1 / VM2 / VM3 等中)
我的qn
- 这是将所有工具集成到单个 API 服务器中的好方法吗,即使每个工具在其专用 VM 中都有单独的 API 实现。
- 如果是,我怎样才能将所有工具集成在一个地方。?a) 我是否需要从新的微服务调用工具 API。? b) 或者,我是否需要在新服务器中拥有所有工具 API 的完整来源。?
- 我真的需要微服务设计吗??
提前致谢。