Load-Balancing

如果失敗,NetScaler 重試下一個伺服器

  • June 30, 2020

我有 8 台伺服器由 NetScaler VPX (10) 進行負載平衡。如果上一個伺服器以 502 狀態響應,如何使 NetScaler 負載均衡器將請求重新發送到下一個伺服器?

這完全取決於您的配置。但是,在所有情況下,重試到下一個伺服器的不是 NetScaler 設備本身。您必須在配置中創建一個構造,以便當後端伺服器返回 HTTP 502 時,重寫對客戶端的響應以讓客戶端重試請求。此時必須辨識進入 NetScaler 的新請求,以便您可以強制將後端伺服器用於該請求。

一個選項是使用伺服器 ID 配置伺服器組的成員,並使用該伺服器 ID 執行顯式負載平衡。然後,初始失敗的響應必須返回一個包含伺服器 ID 的 cookie。

如果 cookie 出現在第二個請求中,並且擁有有效的伺服器 ID,則將使用該後端伺服器。

簡而言之,您必須在 NetScaler 上使用以下組件:

  • 內容切換(請求是否有伺服器 id cookie)
  • 使用每個服務組綁定的伺服器 ID 定義進行負載平衡
  • 重寫初始請求的響應。

如果您的應用程序不支持重定向,那麼您就不走運了,因為 NetScaler 無法根據來自第一台伺服器的原始響應重試原始請求。

乾杯,簡

引用自:https://serverfault.com/questions/851474