Api 作为微服务的工具自动化

Api 作为微服务的工具自动化,api,rest,microservices,Api,Rest,Microservices,我正在考虑为一组工具构建一个微服务体系结构 每个工具都有单独的API实现、公开。它们部署在专用虚拟机中。 比如说,我有3个工具 带有特性的Tool1在VM1中实现并公开为API1、API2、API3 具有特性的Tool2在VM2中实现并公开为API1、API2、API3、API4 带有特性的Tool3在VM3中实现并公开为API1、API2、API3、API4和API5 我计划从一个集中的地方(VM4)管理所有工具。作为微服务API服务器。 每个工具功能都将被称为 http:///tool1/

我正在考虑为一组工具构建一个微服务体系结构

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

  • 带有特性的Tool1在VM1中实现并公开为API1、API2、API3
  • 具有特性的Tool2在VM2中实现并公开为API1、API2、API3、API4
  • 带有特性的Tool3在VM3中实现并公开为API1、API2、API3、API4和API5
  • 我计划从一个集中的地方(VM4)管理所有工具。作为微服务API服务器。 每个工具功能都将被称为

    • http:///tool1/callapi1
    • http:///tool1/callapi2
    • http:///tool2/callapi3
    • http:///tool3/callapi5
    因此,VM4中的API实现将调用外部API,该API位于其相应的工具服务器中(在VM1/VM2/VM3等中)

    我的Qn

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

    如何在一个地方集成所有工具

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

    另一个选项是创建GraphQLAPI,而不是公开URL路由

    我是否需要在新服务器中拥有所有工具API的全部源代码

    我想这取决于它们是如何运行的,但如果HTTP是您的通信通道,那么就没有了

    我真的需要微服务设计吗

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

    如何在一个地方集成所有工具

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

    另一个选项是创建GraphQLAPI,而不是公开URL路由

    我是否需要在新服务器中拥有所有工具API的全部源代码

    我想这取决于它们是如何运行的,但如果HTTP是您的通信通道,那么就没有了

    我真的需要微服务设计吗

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