簡體   English   中英

Socket.io / Express 帶負載平衡器服務器

[英]Socket.io / Express with load balancers servers

我正在 Express 服務器上進行 socket.io 集成,前端(React)連接到服務器。

為了避免請求過載,負載平衡器在到達部署 Express 服務器的服務器之前被配置為中介。

我的問題是,前端能否連接到 Express 服務器/socket.io,哪個流量通過負載均衡器? 我讀到的是傳輸模式應該是“ websockets ”而不是“輪詢”。

非常感謝您的建議。

如果您強制使用 webSocket 傳輸,因此 socket.io 最初不會以輪詢模式開始(就像通常那樣),並且如果負載平衡器支持 webSocket 連接,則一切都應該工作。 使輪詢與負載平衡器一起工作的另一種方法是使負載平衡器具有粘性,以便給定的客戶端每次都負載平衡到同一台服務器。

請注意,如果您的應用程序有理由希望客戶端保持在同一個負載平衡服務器上(例如假設它暫時斷開連接然后自動重新連接),那么您希望將負載平衡器配置為粘性。 如果這無關緊要,那么最初只強制 websocket 傳輸就足夠了。

僅供參考,這是強制 socket.io 客戶端從 webSocket 連接開始的方法:

const socket = io({transports: ["websocket"]});

暫無
暫無

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

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