到場中特定伺服器的 ARR 路由

到場中特定伺服器的 ARR 路由

我有 3 個位置,每個位置都有自己的伺服器(s1.mysite.com、s2.mysite.com、s3.mysite.com)。這些都是網站的一部分:app.mysite.com。

我想使用 ARR 根據請求來自的位置將請求轉發到場中的特定伺服器(來自網站 1 的請求轉到其位置本地的 s1.mysite.com),同時允許故障轉移到如果該特定伺服器出現問題,則選擇其他伺服器之一。

我知道如何透過 DNS 名稱 (s1.mysite.com) 將基於查詢字串的請求分發到特定伺服器,但如果該伺服器發生故障,則該名稱將無法運作。

我可以使用 Microsoft ARR 以這種方式實現工作的冗餘和分配嗎?

答案1

根據您對此類設定的推理,可能的解決方案可能會發生變化。我認為這裡可能有兩個原因:

  • 嘗試實現高可用性,同時優先選擇能夠提供最佳回應時間的應用程式伺服器(場景 1)
  • 根據使用者所在的網站呈現客製化內容(場景 2)

場景1

如果您試圖實現 HA 並獲得最佳回應時間,那麼您將遇到問題,因為所有請求都需要先通過 ARR 伺服器。解決此問題的方法是在每個網站都有一個 ARR,使用 DNS 將使用者指向其網站的 ARR 伺服器,然後使用「最少回應時間」負載平衡演算法。理論上,這會將網站 1 的使用者指向 s1.mysite.com,同時如果 s1 出現故障,也可以向 s2 和 s3 提供故障轉移。

但是,如果網路問題導致 s1.mysite.com 不可用,也可能導致網站 1 中的 ARR 伺服器也不可用。但是,它可以保護您免受 s1.mysite.com 上的應用程式故障的影響。

場景2

似乎沒有任何現成可用的東西可以執行您希望完成的路由類型。但是,公開的 API 可讓您為 URL 重寫建立自訂重寫提供者。可以找到有關執行此操作的信息這裡。您可以將伺服器變數、請求標頭甚至查詢字串參數中的資訊與自訂重寫提供者結合使用,以執行您希望實現的路由類型。

相關內容