自节点v0.12.2开始负载均衡
使用节点v0.12.2,集群模块支持循环(RR)负载平衡,确保负载比先前的操作系统级负载均衡分布更均匀。
所以现在我们被宠坏了:
pm2
nginx
我意识到这个优秀的帖子以及SO的其他答案,但没有一个解决了带有RR模式的较新Cluster模块。 所以问题归结为:
仅仅根据它们的负载平衡能力来判断,我应该使用pm2
还是nginx
?
TL; DR
如果这只是pm2
与nginx
,那么就是nginx。 更好 :两者。 最佳 :更广泛的设置。
如果您希望最成熟的负载平衡功能使用HAProxy
。 这是最好的一件事 。 你会得到SSL终止,ACL,它非常轻量级。 我无法用数字来证明,但我觉得它对http请求的命中率最低。 这是一个很好的阅读。
如果你还需要提供(至少一些)静态内容,你的goto选项是nginx
因为它在这个领域的卓越能力。 同样在你的列表中,它是唯一提供这种功能的人。 除了node
本身,但做得很差。
pm2
感觉非常重的IMO并且往往更频繁地打破。 它的处理负载均衡功能非常好,可以保证节点进程的正常运行。 它提取cluster
。
cluster
感觉只是“固定”到最低限度。 在过去,也许os级支持会导致不同平台上的不同行为。 例如,对单个进程的偏见。
我目前的设置是:
HAProxy
用于集群范围的负载平衡,包括平衡每台机器的一个进程的多个实例 pm2
用于进程负载平衡