任何在線服務提供商的兩個最關鍵要求是可用性和冗余。服務器響應請求所需的時間因其當前容量而異。如果即使單個組件發生故障或被請求淹沒,服務器也會過載,客戶和業務都會受到影響。
負載平衡嘗試通過跨多個組件共享工作負載來解決此問題。傳入的請求可以從過載的服務器路由到具有更多可用資源的服務器。負載平衡具有從網絡交換機到數據庫服務器的各種應用程序。
負載平衡如何工作
服務提供商通常使用面向Internet的前端服務器來構建其網絡,以便將信息傳送到后端服務器或從后端服務器傳送信息。這些前端服務器包含負載平衡軟件,可根據資源可用性將請求轉發到其中一個后端服務器。負載平衡軟件包含內部規則和邏輯,用于確定轉發每個請求的時間和位置。
以下是負載平衡如何工作的概述:
用戶打開Goog??le.com等網頁
前端服務器接收請求并確定將其轉發的位置。可以使用各種算法來確定轉發請求的位置,其中一些更基本的算法包括隨機選擇或循環。如果沒有可用的后端服務器,則前端服務器執行預定的操作,例如向用戶返回錯誤消息。
后端服務器處理請求并生成響應。同時,后端服務器定期向負載均衡器報告其當前狀態。
后端服務器向前端服務器返回響應,然后將其轉發給用戶。
如果一切順利,無論服務提供商的網絡狀態如何,用戶都將及時收到響應。如果至少有一個前端服務器和至少一個后端服務器可用,則正確處理用戶的請求。
負載平衡示例
Google的計算引擎基于多種Google產品使用的相同負載平衡技術,包括Gmail,搜索和Google廣告。Compute Engine會定期檢查所有后端服務器的狀態,并根據其當前負載將其標記為健康或不健康。
當用戶連接到Google服務時,Compute Engine會將請求轉發給健康的服務器。然后,響應從健康的服務器通過計算引擎轉發回用戶。同時,不健康的服務器被修復,更換或脫機。
通過負載平衡,可以升級服務器,而不會中斷最終用戶的體驗。Google和其他服務提供商通過波浪升級其后端服務器來推動應用程序更新。例如,當服務器脫機升級時,其他服務器負責工作負載,然后依次更新。
在計算引擎中,使系統脫機以進行維護和升級的能力稱為“跛鴨模式”。這就是即使在活動會話之間,Google的網絡產品也可以無縫更新的方式。
負載平衡的好處
負載平衡使系統管理員可以更輕松地處理傳入請求,同時減少用戶的等待時間
用戶體驗更快,不間斷的服務。用戶不必等待單個苦苦掙扎的服務器完成其先前的任務。相反,他們的請求會立即傳遞給更容易獲得的資源。
服務提供商可以減少停機時間并提高吞吐量。即使是完整的服務器故障也不會影響最終用戶體驗,因為負載均衡器只會將其路由到健康的服務器。
系統管理員體驗較少的故障或壓力組件。負載平衡有幾個設備執行一些工作,而不是單個設備執行大量工作。