如何调用在相同EC2实例上但在不同端口号上运行的API

时间:2020-04-16 09:20:18

标签: node.js express amazon-ec2 microservices

我正在一个Ec2实例上运行多个Node.js服务器,当我需要调用在同一实例的不同端口上运行的任何API时,我需要使用AXIOS进行调用,我想知道这是唯一的方法知道它在相同的EC2上运行时,我可以调用我的API,这是有效的解决方案吗?请我指导吧

提前谢谢

1 个答案:

答案 0 :(得分:0)

我想从两个方面回答这个问题,

1)您的应用程序与其他应用程序进行通信的方式

您可以通过两种方式进行操作。第一个是同步的,如果您必须等待第二个应用程序的结果并完成第一个应用程序中的逻辑,则可以采用这种方法。是的,您可以使用REST调用(使用AXION或任何REST客户端)。如果您打算流式传输数据,则gRpc是另一种选择。

下一个是异步通信,其中您的应用程序不等待第二个应用程序的结果(即发即忘)。这可以通过使用消息队列来实现

2)您的应用程序的部署方式和使用方式。

假设您正在使用IP:PORT或localhost:PORT调用应用程序(因为它在同一个VM中),我可以说这不是一个好方法。

考虑一种情况,您需要将一个应用程序移动到另一个盒子中,或者您想要单独缩放该应用程序。在这种情况下,您将难以管理。

您的应用程序前面是否有任何API网关,反向代理或负载平衡器?如果是,请通过这些服务调用您的应用程序。

如果您不确定上述内容,请点击以下链接,

https://hub.packtpub.com/6-common-use-cases-of-reverse-proxy-scenarios/ https://www.redhat.com/en/topics/api/what-does-an-api-gateway-do https://microservices.io/microservices/news/2015/03/15/deployment-patterns.html

相关问题