一千萬個為什麽

搜索

如何更新負載均衡器後面的前端服務器



我有多個前端服務器在負載均衡器後面生成HTML頁面。

只是想知道在用戶瀏覽網站時更新前端應用程序的最佳做法是什麽。

目標:

  1. 確保每個用戶看到新版本或舊版本,但不能在兩者之間切換。
  2. 確保負載仍然均勻分布在未更新的服務器中。
  3. 沒有中斷服務。

我的想法:

  1. 將服務器劃分為多個組。
  2. 從負載平衡中取出一個組,並等待它完成當前請求。
  3. 更新應用和操作系統等
  4. 將組重新置於負載平衡狀態。
  5. 選擇另一個組並重復步驟2-5。

在進行過程中,某些服務器將具有新版本,因此為了確保用戶不會在新舊版本之間切換,我是否啟用了粘性會話?

轉載註明原文: 如何更新負載均衡器後面的前端服務器

一共有 1 個回答:

您上面的內容似乎是一個合理的更新過程,但您也可以使用持久性或粘性會話,這樣當用戶訪問Web服務器時,它們將在瀏覽器會話期間被路由到同一Web服務器(或對於下一個小時,或者您決定配置的任何內容)。如果您需要獲得用戶對新功能的反饋或僅允許出現錯誤的可能性,這也允許進行一些A/B測試(如果在A/B測試期間發現問題,則只需從池中拉出服務器組B組)。

粘性會話應該註意一些問題:例如,如果在防火墻後面有一千個用戶,源地址持久性可能會有問題 - 那麽你就有一個龐大的組總是會轉到一個Web節點。也許你真的不想讓cookie做持久性等等。

但是,在這方面確實沒有達成一致的“最佳實踐” - 最佳做法是在這種情況下滿足您的業務需求。您應該只收集所有選項並選擇最符合您需求的工作流程。