4

我遇到了一個問題,我無法完全使用Google技術解決問題。在Google Cloud中負載均衡websocket連接

我需要通過SSL提供> 500個並行websocket連接。客戶端理想地連接到wss://wss.mydomain.com並獲得實例服務。

選項1:我當前使用自定義運行時託管虛擬機來部署運行支持SSL的websocket服務器的Dockerfile。 部署Managed VM實例會生成一個GCE實例。 我使用Google Cloud DNS將wss.mydomain.com指向GCE實例的這一個IP地址。

問題:我無法連接到wss.mydomain.com(甚至沒有my-mvm.appspot.com),因爲WebSocket連接(通過SSL)不被轉發到管理VM實例。提出了一個issue,但沒有看到任何迴應,幫助我。其他人也得出這個結論herehere

因此,如果託管虛擬機不能解決問題,我可以在哪裏找到Google Cloud Architecture?

選項2:由於managedVM似乎是GCE的suger塗層,也許我可以保留已經提供了我的GCE實例的當前設置並自己添加負載平衡?

選項2a:HTTP(S)負載平衡不允許websocket通信,因此一個是out

選項2b:網絡負載平衡可以工作。我需要將實例分配給目標池才能工作。新創建的託管虛擬機實例可以自動分配給目標池,以便加入負載平衡嗎?如果是這樣,這是否是問題的完整解決方案?

選項3:我想繼續使用我的Dockerfile進行設置。所以我在看容器引擎。我根本沒有經驗。

在我涉足另一個雷區之前,哪個選項最有可能爲我的問題提供解決方案?也許還有另一個我沒有想到的選擇。

回答

1

選項2b也會出現,因爲託管VM流量仍然通過不會將WebSocket流量轉發給實例的appspot.com前端(如鏈接的其他問題中所述)。

如果你現在想讓它工作,我建議首先使用帶有autoscaling的GCE實例和網絡負載平衡。如果您希望獲得與託管虛擬機相同級別的可擴展性,那麼您將希望開始閱讀Container Engine並將您的應用程序部署到Dockerized。