微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

最佳答案
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用于进程负载平衡

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐