node.js - Nginx负载均衡不就是像代理服务器一样吗?

标签 node.js nginx http-proxy

主要是使用 nginx 作为一组上游服务器的负载均衡器有什么区别。或者使用小型 NodeJS 代理服务器,它的作用就像一堆服务器和一个公共(public)托管之间的代理。

这对你来说可能看起来很明显,但对我来说 nginx 非常新。我对此几乎一无所知..

另外,我想我的问题是,使用 nginx 作为分配负载的代理服务器与运行自己的 Node js 代码(在其他请求之间充当代理)相比是否有任何性能优势。

最佳答案

如果引入 +1 技术,我会说保留自定义 NodeJS 代理作为短期解决方案。

长期解决方案是 Nginx 作为后端阵列中的反向代理,从技术和维护方面的原因来看,它具有很大的意义。应用程序很少保持不变,因为您应用新功能、替换旧代码并部署新代码,因此方法是使用正确的工具完成正确的任务。 Nginx 已被许多网络上的重负载应用程序验证并选择。内存消耗和CPU利用率低且稳定。

大多数人使用 Nginx 作为反向代理(顺便说一句,这是使用 Nginx 的最大原因)而不是其他任何东西,因为它是如此强大和功能强大。

从请求-响应生命周期中,如果给定的后端死机,Nginx 会在后端之间不断轮换以再次发送请求,因此甚至不会丢失一个请求。

从维护的角度来看,带有 Rest 接口(interface)的动态上游(商业安装的一部分)看起来足够好。即使是开源版本也很容易推出上游更新+优雅的重新加载(HUP 信号)。 Nginx还支持零停机二进制升级(USR2+QUIT)。

关于node.js - Nginx负载均衡不就是像代理服务器一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291811/

相关文章:

node.js - 是否可以在nodejs Async( waterfall ,系列等...)中构建动态任务列表

javascript - 如何在一台机器上启动多个 Node/套接字服务器

javascript - 如何返回一个对象而不是数组?

php - 无法使用 Angular 8 通过 JWT 授权

bash - 在新的 Ubuntu 16.04 服务器上使用 SSL 编写新的 nginx 实例的正确方法是什么?

php - NGINX 允许带有下划线的 header

nginx - 在 NGINX 中使用 gzip_types/ssi_types 和 "wildcard"媒体类型

proxy - 为 Electron App 设置代理

bazaar - 如何通过 HTTP 代理使用 Bazaar?

git - 克隆企业 git 存储库