gpt4 book ai didi

node.js - 自 Node v0.12.2 起的负载均衡 - 集群、pm2 或 nginx

转载 作者:搜寻专家 更新时间:2023-10-31 22:24:40 25 4
gpt4 key购买 nike

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

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

  1. 使用cluster模块
  2. 使用pm2它在引擎盖下使用集群模块
  3. 使用nginx
  4. 使用HAProxy

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

光看负载均衡能力,是用pm2还是nginx

最佳答案

长话短说

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

如果您想要最成熟的负载均衡功能,请使用HAProxy。它是把一件事做到最好。您将获得 SSL 终止、ACL,而且它非常轻量级。我无法用数字证明,但我觉得它对 http 请求的命中率最低。一个好的阅读是 this .

如果您还需要提供(至少一些)静态内容,您的 goto 选项是 nginx,因为它在该领域具有卓越的功能。在您的列表中,它也是唯一提供此类功能的列表。除了node本身,但是做的很差。

pm2 在我看来是非常重量级的,而且更容易崩溃。它的进程负载平衡能力非常好,可以确保 Node 进程的正常运行时间。它抽象了 cluster

cluster 感觉只是“固定”到最低限度。 os-level 支持在过去可能仍然会导致不同平台上的不同行为。例如,偏向于单一进程。

我当前的设置是:

  • HAProxy 用于集群范围的负载均衡,包括在每台机器上均衡一个进程的多个实例
  • 静态内容的 CDN(例如 Cloudinary)
  • pm2 用于进程负载均衡

关于node.js - 自 Node v0.12.2 起的负载均衡 - 集群、pm2 或 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29544162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com