5

我有一个在 AWS 上运行的 Node 应用程序。投入生产时,它很有可能会收到大量请求。我计划使用 AWS ECS 托管它,并且在应用程序前面会有一个 AWS 应用程序负载均衡器。当我查看“如何在生产中部署 Node 应用程序”时,我看到每个人都在建议在 Node 应用程序前面使用 Nginx。

我的疑问是,如果我们在架构中有 ALB,我们是否还需要添加 Nginx?如果我们需要为 100 万用户托管应用程序,使用 Nginx 有什么好处吗?

4

2 回答 2

2

这取决于您如何使用 NGINX 进行负载平衡。应用程序负载均衡器确实带来了许多可以使 NGINX 在您的架构中变得冗余的功能,但它并不完全像 NGINX 那样先进。例如 ALB 只使用轮询负载均衡,而您可以配置 nginx 为轮询、最少连接等。ALB 没有任何缓存能力,而 nginx 提供静态内容缓存。ALB 仅使用基于路径的路由,而 nginx 可以根据请求标头、cookie 或参数以及请求 URL 进行路由。

进一步阅读和来源:https ://www.nginx.com/blog/aws-alb-vs-nginx-plus/

注意:使用 nginx 的另一个重要事实是与云无关。因此,如果您打算切换云提供商,您可以随身携带 nginx 设置。

于 2019-10-28T09:05:03.530 回答
0

这取决于您的架构的其余部分。如果 ALB 可以为您处理所有事情,那么您可能不需要 nginx。此外,如果您是第一次使用,nginx 有一个学习曲线。

于 2019-10-28T05:54:40.143 回答