首页 > 解决方案 > 如果我们有用于 Node 应用程序的 AWS 应用程序负载均衡器,Nginx 会变得多余吗?

问题描述

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

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

标签: amazon-web-servicesnginxhigh-loadaws-application-load-balancer

解决方案


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

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

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


推荐阅读