負載均衡位於伺服器的前面,負責將用戶端請求路由到所有能夠滿足這些請求的伺服器,同時最大限度地提高速度和容量利用率,並確保無任何伺服器過載,以免出現性能下降。
閱讀本文,了解幾種不同的負載均衡的區別與關聯:混合負載均衡、全域伺服器負載均衡、DNS 負載均衡以及雲負載均衡。
什麼是混合負載均衡?
混合負載均衡(Hybrid load balancing)是指將用戶端請求分配到一組運行再在各種環境(本地、私有雲及公有雲)中的伺服器應用中。 混合負載均衡能夠最大限度地提高任何位置的內容交付的可靠性、速度及成本效益,從而提供最佳的用戶體驗。
如今,許多企業正將應用從本地伺服器遷移到公有雲,以獲得一系列優勢,例如降低成本和根據需求輕鬆擴展。 但整個遷移通常無法在一夜之間完成,而且雲環境並不適合所有應用,因此企業往往必須管理本地和雲應用組合。
例如,企業可能會使用其內部 IT 團隊在本地安裝和管理的 Outlook 電子郵件伺服器,但將客戶資訊存儲在基於雲的CRM(如 Salesforce.com )中,並將其電子商務存儲託管在亞馬遜雲科技(AWS)。 借助混合負載均衡解決方案,用戶可通過單一入口點訪問應用,負載均衡器在不同的位置識別和分發流量。
投資私有雲的企業面臨著更加複雜的情況,因為他們需要在三個資源位置之間實現負載均衡。 與公有雲一樣,私有雲是雲廠商異地託管的虛擬數據中心。 私有雲與公有雲的不同之處在於,它能夠保證提供專用存儲和計算能力,不與雲廠商的其他客戶共用。
借助混合負載均衡解決方案,企業可以無縫地在本地伺服器、私有雲及公有雲之間分發流量,以便每個請求均可通過最適合的資源完成。 負載均衡決策可基於以下因素:
- 位置 — 公有雲資源幾乎總是分佈在不同地理位置,跨國公司的本地和私有雲資源也是如此。 將使用者連接到最近的伺服器可減少網路延遲,並有助於交付當地語系化內容(例如,使用伺服器所在國家/地區的語言編寫的文本)。
- 請求類型 — 混合負載均衡解決方案可將對不同類型的內容(影片、圖片或應用數據,例如定價和庫存資訊)的請求轉發到託管此類內容的伺服器。 使用專用伺服器(可針對所提供的內容進行優化)無需在每個位置複製相同的內容。
- 業務價值 — 來自具有重要戰略意義的客戶或可能創造收入的請求可以直接定向到專用伺服器,以實現最快、最可靠的交付,而較低價值的請求則可定向到成本較低的資源。
- 安全性 — 企業可將敏感數據託管在私有雲或本地,從而保持對該敏感數據的最大控制,同時將不受限制的數據存儲在公有雲中,以節省成本。
- 成本 — 專用資源和雲資源之間的混合負載均衡支持企業以最經濟高效的方式為使用者提供最佳的體驗。
硬體與軟體負載均衡
傳統的負載均衡解決方案依賴數據中心內的專有硬體,而且採購、維護及升級成本可能相當高。 基於軟體的負載均衡器能夠以更低的成本提供基於硬體的解決方案的性能和可靠性,因為它們在商用硬體上運行。
大多數企業都遵循最佳實踐,並將負載均衡器與所負載均衡的資源部署在同一環境中:將數據中心中運行的應用放在本地,將雲託管的應用放在雲端。 雲基礎設施廠商通常不允許在其環境中使用客戶硬體或專有硬體,因此在本地部署硬體負載均衡器的企業仍必須使用軟體負載均衡器來利用雲資源。
這就需要IT人員瞭解並維護兩種不同的負載均衡解決方案。 而 NGINX 和 NGINX Plus 等基於軟體的負載均衡解決方案既可部署在本地也可部署在雲端,有助於降低運營複雜性和成本並縮短開發和部署應用所需的時間。
什麼是全域伺服器負載均衡?
全域伺服器負載均衡 (GSLB) 是指在多個地理位置的伺服器資源之間智慧分發流量。 這些伺服器既可位於公司自己的數據中心本地,也可託管在私有雲或公有雲中。
災備是許多企業在多個位置部署伺服器資源的主要原因。 在最常見的配置中,數據由一個 active 位置提供,在一個或多個備用(passive)位置複製備份 — 這些被動網站僅在主動網站發生故障時才會提供數據。 在這種情況下,全域伺服器負載均衡器的作用是檢測主動網站的故障並自動將請求轉至備用網站。
選擇 active-passive 模式的一個主要原因是無需跨網站即時同步數據;採用更簡單的批處理方法和更經濟的帶外連接,即可將 active 網站的數據變更分發到 passive 網站。 如果您需要維護多個提供相同內容的 active 網站(下列一些GSLB 優勢只有在您進行有效維護時才會顯現),那麼即時同步網站就變得十分重要。
全域伺服器負載均衡的優勢包括:
- 可靠性和可用性 — 在發生伺服器或網路中斷時,GSLB 可用於提高網站可靠性和可用性。 例如,如果暴風雪后美國東北部發生停電,則負載均衡器可將流量從這些地區託管的伺服器資源轉出到該國其他地區託管的伺服器資源。
- 性能 — 從更靠近請求使用者的伺服器交付內容能夠最大限度地減少網路延遲和網路問題發生幾率。 例如,將來自澳大利亞使用者的請求定向到位於悉尼的伺服器,而非位於紐約的伺服器,可將數據包的單程傳輸距離縮短約10,000 英里(16,000 千米)。
- 滿足監管和安全要求 — 對於國防、電信及醫療等許多監管嚴格的行業,全域伺服器負載均衡支援網路架構師以符合政府法規的方式為全球使用者群提供服務。 例如,可將全域伺服器負載均衡器配置為只有當請求來自加拿大使用者而非其他國家(地區)的使用者時,才可將其轉發到加拿大的數據中心。
- 交付本地化內容 — 借助有關使用者地理位置的資訊,全域伺服器負載均衡器可以將請求轉發到託管特定內容的伺服器,這些內容與使用者所在國家(地區)有關,並使用本國語言編寫。
什麼是 DNS 負載均衡?
DNS 負載均衡是指在域名系統 (DNS) 中配置功能變數名稱,以便將用戶端對功能變數名稱的請求分發給一組伺服器電腦。 一個功能變數名稱可以對應一個網站、一個郵件系統、一台列印伺服器或可通過互聯網訪問的其他服務。
DNS 是互聯網的「電話簿」:它將 www.abc.com 等功能變數名稱(相當於電話簿中的個人姓名或企業名稱)映射到172.16.205.3 等互聯網協定 (IP) 位址(相當於電話號碼)。 在互聯網上發送或接收數據的每台設備都有一個唯一的IP位址,可供互聯網的路由軟體和硬體用於識別並定位設備。 DNS 支援使用者通過名稱訪問網站,對於大多數人而言,這比記住IP位址中的數位串容易得多。
在最簡單的部署中,單台計算機為某個域託管並提供數據;當用戶端請求解析域名時,DNS 將返回單台服務的IP位址。 如今,許多域都使用多台伺服器計算機,因為需要防範伺服器故障或處理高流量等問題。 在這種情況下,DNS 收到名稱解析請求時會返回所有伺服器的IP位址清單。
DNS 負載均衡的工作原理
大多數用戶端使用收到的第一個IP位址作為功能變數名稱解析結果,DNS 負載均衡利用了這一點。 在大多數 Linux 發行版中,DNS 預設在每次回應新的用戶端時均使用輪詢方式按照不同的順序發送 IP 位址清單。 因此,不同的用戶端將其請求定向到不同的伺服器,從而在伺服器組之間高效分配負載。
然而,這種簡單的 DNS 負載均衡實現存在固有問題,影響了其可靠性和效率。 最重要的是,DNS 不會檢查伺服器或網路中斷或錯誤,因此即使伺服器崩潰或無法訪問,它也始終根據功能變數名稱返回對應的同一組IP位址。
還有另一個問題。 解析的位址通常會被中間 DNS 伺服器(稱為“解析器”)和用戶端緩存以提高性能並減少網路上的DNS 流量。 每個解析的位址都分配一個有效期(稱為“生命週期”或“TTL”),較長的生命週期意味著用戶端可能無法及時了解伺服器組的變更,而較短的生命週期雖然能夠提高準確性,但會導致處理開銷和 DNS 流量的增加 — 這是緩存原本要減輕的問題。
什麼是雲負載均衡?
雲負載均衡是指將用戶端請求分發到在雲環境中運行的多個應用伺服器。 與其他形式的負載均衡一樣,雲負載均衡能夠最大限度地提高應用的性能和可靠性; 相比本地資源的傳統負載均衡,其優勢(通常)是成本更低,並可以輕鬆地根據需求來擴展或收縮應用。
如今,越來越多的企業(尤其是小型企業)都在雲中運行各種應用。 企業可能會使用基於雲的CRM(如Salesforce.com)儲存客戶資訊,使用基於雲的 ERP 系統追蹤產品數據,使用網路託管廠商(如 Google)託管網站,並使用 Amazon Elastic Compute Cloud (EC2) 運行少量定製的應用。
推薦的作法是將負載均衡器伺服器與所負載均衡的資源部署在同一環境中。 因此,當某個公司的大部分計算基礎架構都託管在雲中時,在雲中運行負載均衡器也是很有必要的。
硬體與軟體負載均衡
傳統的負載均衡解決方案依賴數據中心內的專有硬體,並且需要一支經驗豐富的 IT 團隊來進行系統的安裝、調整和維護。 只有擁有大量 IT 預算的大公司才能受益於改進的性能和可靠性。 在雲計算時代,基於硬體的解決方案還有一個嚴重缺陷,那就是它們不支援雲負載均衡,因為雲基礎架構廠商通常不允許在其環境中使用客戶的硬體或專有硬體。
幸運的是,基於軟體的負載均衡器能夠以更低的成本提供基於硬體解決方案的性能和可靠性優勢。 由於它們在商用硬體上運行,即使是小公司也能夠負擔得起。 它們可以像其他任何軟體應用一樣在雲中運行,是雲負載均衡的理想之選。
雲負載均衡的優勢
雲負載均衡的優勢主要體現在雲本身的可擴展性和全域性上。
在雲端擴展的便捷性和速度意味著,企業只需在一組應用實例前放置一個可根據需求快速自動擴展的雲負載均衡器,即可輕鬆處理流量峰值(如“雙十一”的流量),並且不會降低性能。
在全球多個雲中心託管應用的能力可以提高可靠性。 舉例來說,如果美國東北部在遭受暴風雪襲擊后發生停電,雲負載均衡器可以將流量從該地區託管的雲資源引導到在該國其他地區託管的資源。