簡體   English   中英

如何在谷歌雲中為 websocket 創建健康檢查?

[英]How to create a health check for websocket in Google cloud?

我正在嘗試通過 websoket 為我的應用程序在 GCP 中設置負載均衡器。 在創建健康檢查以確定哪些實例已啟動和工作時,我唯一可以為HTTP健康檢查修改的 header 是主機。 所以我無法添加建立連接所需的Upgrade header 和其他 websocket 相關標頭(如此)。

文檔中提到默認支持websockets,但沒有提到健康檢查規則應該如何定義。 將 GCP 負載均衡器與 websockets 結合使用的最佳做法是什么? 有沒有辦法在我這邊解決這個問題,例如通過定義一個自動升級到 websocket 或任何其他方法的端點?

負載均衡器可以接受 websocket 流量並將其轉發到正確的服務/后端。 但是,根據我的經驗,負載均衡器無法對 websocket 執行健康檢查。

健康檢查的含義是一個簡單的 HTTP 端點,它回答“好的,一切運行良好”或“Arg,我有問題,如果繼續,請重新啟動(或替換)我”。 在 websocket(意思是連續通信/流媒體)中這樣做是“奇怪的”。

如果您查看文檔,成功標准是 200 中的答案(如果需要,您可以選擇添加內容驗證)。 當您請求 websocket 端點時,HTTP 的答案是101 Switching protocol ,而不是 200,因此從負載均衡器的角度來看無效。

在您的服務上添加一個標准端點,在您的應用程序中執行健康檢查並回答正確的 HTTP 代碼。

暫無
暫無

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

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