Node.js AWS EC2上的RESTful API服务器与AWS API网关

时间:2018-02-03 06:38:28

标签: node.js amazon-web-services amazon-ec2 aws-lambda aws-api-gateway

我有一个node.js RESTful API应用程序。没有Web界面(至少截至目前),它只是用作其他服务调用的API端点。

我想在亚马逊的AWS云上托管它。我在两个选项之间感到困惑

  1. 使用普通的EC2托管,只提供托管网址作为API端点
  2. OR

    1. 使用亚马逊的API Gateway并在AWS Lambda上运行我的代码
    2. 或者我可以在EC2上运行我的代码并使用API​​网关吗?

      我对EC2和API网关在node.js RESTful api应用程序中的不同之处感到困惑

1 个答案:

答案 0 :(得分:5)

将API Gateway视为API管理服务。它不承载您的应用程序代码,它为您的所有API提供集中式界面,并允许您为API配置访问限制,响应缓存,速率限制和版本管理等内容。

当您使用API​​网关时,您仍然需要在Lambda或EC2等地方托管API的后端应用程序代码。您应该比较Lambda和EC2以确定最适合您的需求。 EC2提供了一个虚拟Linux或Windows服务器,您可以在其上安装任何内容,但您需要为服务器运行的每一秒付费。使用EC2,您还必须考虑跨多个服务器扩展应用程序并对请求进行负载平衡。 AWS Lambda托管您的功能并按需执行它们,自动扩展功能容器的数量,您只需支付执行次数(并且每月包含大量免费执行)。除非每个月都有大量的API请求,否则Lambda的成本要低得多。