簡體   English   中英

在nginx后面部署deepstream.io

[英]Deploying deepstream.io behind nginx

我們在nginx層進行了kerberos身份驗證,並希望將其作為反向代理連接到deepstream.io實例。 從我閱讀的文檔來看,將網絡服務器放在deepstream.io實例的前面似乎會影響性能。 另外,還有一個問題是誰進行負載平衡-通常是在nginx層,但是deepstream.io似乎具有內置的功能來要求其他實例處理負載(通過消息傳遞

如何使deepstream.io實例在Web服務器上正常運行的最佳方法是什么? 在Node中重新實現kerberos身份認證並非易事。

有可能(也是一個好主意)在Nginx,HAProxy等背后深層部署和負載均衡。但是,需要注意一些事項:

engine.io,websockets和粘性會話

Deepstream使用engine.iosocket.io后面的傳輸層)連接到瀏覽器。

engine.io使用許多不同的傳輸機制,最著名的是長輪詢(保持HTTP請求打開直到需要發送數據)和WebSocket。

對於長輪詢,至關重要的是將來自同一客戶端的所有請求都路由到同一台深流服務器,因此請確保在nginx上游組中啟用了粘性/持久會話(只需添加ip_hash指令 )。 對於websocket, 轉發http更新標頭很重要。

在您的深層節點之間同步數據/消息

確保您的深流節點通過緩存和消息總線相互連接。 您可以選擇緩存和消息傳遞系統,但最簡單的方法是同時使用Redis 看看“什么是最簡單的生產就緒設置”一節。 https://deepstream.io/tutorials/connectors-and-deployment.html的底部。

來自其他客戶端(例如 NodeJS engine.io的TCP連接主要用於瀏覽器客戶端,后端進程可以直接通過TCP連接。 NginX完全可以實現負載平衡TCP連接,但是在您的配置中需要額外的流組。

暫無
暫無

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

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