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

cod*_*ess 3 amazon-ec2 amazon-web-services node.js aws-lambda aws-api-gateway

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

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

  1. 使用普通的EC2托管,只提供托管URL作为API端点

要么

  1. 使用Amazon的API网关并在AWS Lambda上运行我的代码

或者我可以在EC2上运行我的代码并使用API​​网关吗?

当涉及到node.js RESTful api应用程序时,我对EC2和API网关的不同之处感到困惑

Mar*_*k B 5

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

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

  • @codeinprogress使用EC2,您必须设置自动缩放并使用负载均衡器.使用Lambda,您无需担心可扩展性. (2认同)