簡體   English   中英

自節點v0.12.2以來的負載平衡 - 集群,pm2或nginx

[英]Load balancing since Node v0.12.2 - cluster, pm2 or nginx

通過Node v0.12.2,集群模塊支持Round-Robin(RR)負載均衡 ,可確保負載比以前的OS級負載均衡更均勻地分布。

所以現在我們被寵壞了選擇:

  1. 使用群集模塊
  2. 使用pm2 ,它使用引擎蓋下的集群模塊
  3. 使用nginx
  4. 使用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用於進程負載平衡

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM