如果我们在Node应用程序中使用AWS应用程序负载均衡器,那么Nginx是否变得多余?

19
我有一个运行在AWS上的Node应用程序。当进入生产环境时,很可能会接收到大量的请求。我计划使用AWS ECS来托管它,并在应用程序前面加上一个AWS应用程序负载均衡器。
当我查看“如何在生产环境中部署Node应用程序”的时候,我发现每个人都建议在Node应用程序前面使用Nginx。
我的疑问是,如果我们的架构中有ALB,那么我们是否还需要添加Nginx呢?如果我们需要为100万用户托管应用程序,使用Nginx是否有任何优势?
2个回答

16
这取决于你如何使用NGINX进行负载均衡。应用程序负载平衡器确实带来了许多功能,可以使NGINX在你的架构中变得冗余,但它并不像NGINX那样先进。例如,ALB仅使用轮询负载平衡,而你可以配置nginx进行轮询、最少连接等。ALB没有任何缓存功能,而nginx提供静态内容缓存。ALB仅使用基于路径的路由,而nginx可以在请求头、cookie或参数以及请求URL上进行路由。
更多阅读和来源:https://www.nginx.com/blog/aws-alb-vs-nginx-plus/ 注意:使用nginx的另一个重要事实是云无关性。因此,如果你计划更换云提供商,可以将nginx设置带走。

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接