我有一个node.js RESTful API应用程序。没有Web界面(至少截至目前),它只是用作其他服务调用的API端点。
我想在亚马逊的AWS云上托管它。我在两个选项之间感到困惑
OR
或者我可以在EC2上运行我的代码并使用API网关吗?
我对EC2和API网关在node.js RESTful api应用程序中的不同之处感到困惑
答案 0 :(得分:5)
将API Gateway视为API管理服务。它不承载您的应用程序代码,它为您的所有API提供集中式界面,并允许您为API配置访问限制,响应缓存,速率限制和版本管理等内容。
当您使用API网关时,您仍然需要在Lambda或EC2等地方托管API的后端应用程序代码。您应该比较Lambda和EC2以确定最适合您的需求。 EC2提供了一个虚拟Linux或Windows服务器,您可以在其上安装任何内容,但您需要为服务器运行的每一秒付费。使用EC2,您还必须考虑跨多个服务器扩展应用程序并对请求进行负载平衡。 AWS Lambda托管您的功能并按需执行它们,自动扩展功能容器的数量,您只需支付执行次数(并且每月包含大量免费执行)。除非每个月都有大量的API请求,否则Lambda的成本要低得多。