〇、背景知識
簡介
負載均衡(Server Load Balancer)是将通路流量根據轉發政策分發到後端多台雲伺服器(ECS執行個體)的流量分發控制服務。負載均衡擴充了應用的服務能力,增強了應用的可用性。負載均衡通過設定虛拟服務位址,将添加的ECS執行個體虛拟成一個高性能、高可用的應用服務池,并根據轉發規則,将來自用戶端的請求分發給雲伺服器池中的ECS執行個體。負載均衡預設檢查雲伺服器池中ECS執行個體的健康狀态,自動隔離異常狀态的ECS執行個體,消除了單台ECS執行個體的單點故障,提高了應用的整體服務能力。
架構
負載均衡服務主要有三個核心概念:
- 負載均衡執行個體 (Server Load Balancer instances):一個負載均衡執行個體是一個運作的負載均衡服務,用來接收流量并将其配置設定給後端伺服器。要使用負載均衡服務,您必須建立一個負載均衡執行個體,并至少添加一個監聽和兩台ECS執行個體。
- 監聽 (Listeners):監聽用來檢查用戶端請求并将請求轉發給後端伺服器。監聽也會對後端伺服器進行健康檢查。
- 後端伺服器(Backend Servers):一組接收前端請求的ECS執行個體。您可以單獨添加ECS執行個體到伺服器池,也可以通過虛拟伺服器組或主備伺服器組來批量添加和管理。
特點
- 負載均衡服務通過設定虛拟服務位址,将位于同一地域的多台雲伺服器資源虛拟成一個高性能、高可用的應用服務池;根據應用指定的方式,将來自用戶端的網絡請求分發到雲伺服器池中。
- 負載均衡服務會檢查雲伺服器池中ECS的健康狀态,自動隔離異常狀态的ECS,進而解決了單台ECS的單點問題,同時提高了應用的整體服務能力。在标準的負載均衡功能之外,負載均衡服務還具備TCP與HTTP抗DDoS攻擊的特性,增強了應用伺服器的防護能力。
- 負載均衡服務是ECS面向多機方案的一個配套服務,需要同ECS結合使用。
優勢
- 高可用:采用全備援設計,無單點,支援同城容災。根據應用負載進行彈性擴容,在流量波動情況下不中斷對外服務。
- 可擴充:可以根據業務的需要,随時增加或減少後端伺服器的數量,擴充應用的服務能力。
- 低成本:與傳統硬體負載均衡系統高投入相比,成本可下降60%。
- 安全:結合阿裡雲雲盾,可提供5Gbps的防DDOS攻擊能力。
## 一、建立資源并确認雲伺服器狀态
在阿裡雲中建立好體驗資源,在浏覽器中輸入兩台ECS伺服器的公網彈性IP位址,可以看到兩台伺服器部署的内容一緻,而後端伺服器IP位址不同
二、負載均衡配置
我們将兩台伺服器挂載到負載均衡的後端,這樣,使用者隻需通路一個IP位址或域名,負載均衡伺服器将會根據權重自動轉發使用者請求到相應的後端伺服器上。
- 登入子使用者的管理控制台,進入導航欄的【産品與服務】——【彈性計算】——【負載均衡】
- 進入左側執行個體管理,打開實驗提供的執行個體,在執行個體清單頁面,點選目标執行個體右側的點我開始配置
- 在協定&監聽頁面,輸入如下資訊
- 負載均衡協定:選擇 HTTP
- 監聽端口:設為 80
- 進階配置保持預設
- 在後端伺服器頁面,監聽請求轉發至預設伺服器組,在已添加伺服器處點選繼續添加
- 在彈出的待添加伺服器頁面,在預先配置好的兩台雲伺服器前打勾選擇,下一步選擇添加
- 在後端伺服器界面的已添加伺服器清單中,可以看到新增的兩台雲伺服器,将端口設定為80
- 在健康檢查配置中,開啟健康檢查按鈕為綠色開啟狀态
- 在配置稽核頁面,确認上述配置操作正确,送出成功後會出現如下界面
- 此時,頁面将顯示一個狀态為運作中的負載均衡監聽執行個體,後端伺服器組已添加完成兩台ECS伺服器,且健康檢查的狀态為正常
三、負載均衡驗證
我們将進行如下的驗證工作:
- 驗證負載均衡的工作原理;
- 驗證通過配置不同後端伺服器權重,将使用者的請求按比例分發到不同後端伺服器;
- 驗證在一台後端伺服器開啟會話請求時,請求在會話開啟的時間内隻會分發到這一台伺服器
---
此時兩台後端伺服器的權重均為100,比例相同。通過如下步驟,驗證負載均衡伺服器是輪詢通路後端雲伺服器ECS執行個體
- 在控制台點選左側執行個體管理,可以看到負載均衡的服務位址,也就是雲産品資源提供的負載均衡的公網IP位址
- 通路負載均衡的服務位址,界面顯示的後端伺服器位址為ECS-1的内網位址
- 重新整理頁面,顯示的後端位址發生變化,變成ECS-2的位址
- 重複重新整理幾次,可以觀察到後端伺服器位址在ECS-1和ECS-2的内網位址間來回切換,說明負載均衡會将使用者的請求發送到後端不同的伺服器進行處理。這樣,可以減輕單台伺服器的負載壓力,進而確定業務的持續性。
通過如下步驟,修改後端伺服器權重,驗證負載均衡向後端伺服器發送請求的比例是按照權重的比例調整的。
- 傳回執行個體管理頁面,進入預設伺服器組,勾選兩台伺服器,點選修改權重
- 在彈出的視窗中,勾選設定不同的權重,将ECS-1的權重設為75,ECS-2的權重設為25。此時,使用者通過負載均衡通路的時候,3/4 的使用者請求發送到ECS-1中,1/4 的請求發送到ECS-2中。
- 在浏覽器中多次重新整理服務位址的頁面,可以看到每4次通路頁面,有3次顯示的後端IP為ECS-1,1次顯示的後端IP為ECS-2,說明使用者可以根據實際情況調整負載均衡器的請求分發,一般将配置高的伺服器設定的權重調高,配置較低的伺服器設定的權重調低。這樣可以避免在高并發時,配置較低的伺服器因為壓力較大服務異常的發生。
執行下面的步驟,開啟負載均衡的會話保持功能
- 點選上方欄的監聽,在監聽頁面進入右側的修改配置
- 在配置頁面的進階設定處,點選修改,開啟會話保持,逾時時間設為180(即3分鐘)
- 後面的頁面均保持預設值,依次完成配置
- 回到監聽頁面,可以看到會話保持狀态已開啟
- 在浏覽器輸入負載均衡的IP位址,可以看到在會話保持的逾時時間(3分鐘)内請求隻會分發到ECS-1,時間超出後,重新按照權重比例分發。
- 我們關閉開啟會話保持的ECS,即ECS-1。在預設伺服器組頁面中已添加的伺服器中,點選ECS-1的ID
- 在執行個體的管理頁面,點選右上角的停止,并确認,等待一會兒後,執行個體的狀态變為已停止
- 傳回負載均衡管理控制台,在預設伺服器組頁面中點選右上角的重新整理,頁面重新整理後被停止的 ECS 的 狀态 變為已停止
監聽頁面和負載均衡管理首頁面,都可以看到異常警告
- 重新整理浏覽器中的負載均衡頁面,可以看到此時後端位址為健康狀态正常的ECS-2上,說明當某一台 ECS 出現異常後,負載均衡會自動将請求發送到健康檢查狀态正常的 ECS 上