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

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...