node.js – 自节点v0.12.2以来的负载平衡 – cluster,pm2或nginx

前端之家收集整理的这篇文章主要介绍了node.js – 自节点v0.12.2以来的负载平衡 – cluster,pm2或nginx前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用Node v0.12.2,群集模块supports Round-Robin (RR) load balancing可确保负载比以前的OS级负载平衡更均匀地分布.

所以现在我们被宠坏了选择:

>使用cluster模块
>使用pm2,它使用引擎盖下的集群模块
>使用nginx
>使用HAProxy

我在SO上知道这个优秀的post以及other answers,但是没有一个用RR模式解决了较新的Cluster模块.所以问题归结为:

仅根据其负载均衡功能判断,我应该使用pm2还是Nginx

最佳答案
@H_404_17@TL; DR

If it’s just pm2 vs. Nginx go for Nginx. Better: both. Best: a even broader setup.

如果您想要最成熟的负载平衡功能,请使用HAProxy.这是最好的一件事.您将获得SSL终止,ACL并且它非常轻量级.我不能用数字证明,但我觉得它对http请求的命中率最低.好读是this.

如果您还需要提供(至少一些)静态内容,那么您的goto选项是Nginx,因为它具有该领域的卓越功能.您的列表中也是唯一一个提供此类功能的人.除了节点本身,但做得很差.

pm2感觉非常重量级的IMO,并且往往更容易断裂.它的流程负载平衡功能非常好,可确保节点进程的正常运行时间.它抽象集群.

群集感觉只是“被修复”到最低限度.在过去,也许os级别的支持导致不同平台上的不同行为.例如,偏向于单个流程.

我目前的设置是:

> HAProxy用于群集范围的负载平衡,包括平衡每台计算机的多个进程实例
>静态内容的CDN(例如Cloudinary)
> pm2用于进程负载平衡

原文链接:https://www.f2er.com/nginx/434804.html

猜你在找的Nginx相关文章