自节点v0.12.2开始负载均衡

使用节点v0.12.2,集群模块支持循环(RR)负载平衡,确保负载比先前的操作系统级负载均衡分布更均匀。

所以现在我们被宠坏了:

  • 使用群集模块
  • 使用引擎盖下的集群模块使用pm2
  • 使用nginx
  • 使用HAProxy
  • 我意识到这个优秀的帖子以及SO的其他答案,但没有一个解决了带有RR模式的较新Cluster模块。 所以问题归结为:

    仅仅根据它们的负载平衡能力来判断,我应该使用pm2还是nginx


    TL; DR

    如果这只是pm2nginx ,那么就是nginx。 更好 :两者。 最佳 :更广泛的设置。

    如果您希望最成熟的负载平衡功能使用HAProxy 。 这是最好一件事 。 你会得到SSL终止,ACL,它非常轻量级。 我无法用数字来证明,但我觉得它对http请求的命中率最低。 这是一个很好的阅读。

    如果你还需要提供(至少一些)静态内容,你的goto选项是nginx因为它在这个领域的卓越能力。 同样在你的列表中,它是唯一提供这种功能的人。 除了node本身,但做得很差。

    pm2感觉非常重的IMO并且往往更频繁地打破。 它的处理负载均衡功能非常好,可以保证节点进程的正常运行。 它提取cluster

    cluster感觉只是“固定”到最低限度。 在过去,也许os级支持会导致不同平台上的不同行为。 例如,对单个进程的偏见。

    我目前的设置是:

  • HAProxy用于集群范围的负载平衡,包括平衡每台机器的一个进程的多个实例
  • 用于静态内容的CDN(例如Cloudinary)
  • pm2用于进程负载平衡
  • 链接地址: http://www.djcxy.com/p/62229.html

    上一篇: Load balancing since Node v0.12.2

    下一篇: SignalR thinks request is cross domain