一、雲伺服器狀态确認
1.點選左側導航欄處的 雲産品資源,檢視 雲伺服器ECS-1 和 雲伺服器ECS-2 的相關資訊。
2.打開浏覽器,在輸入框中輸入 雲産品資源 提供的 雲伺服器ECS-1 的 彈性IP ,頁面如下圖:
3.打開新的視窗,輸入 雲伺服器ECS-2 的 彈性IP ,通路頁面如下:
4.比較兩台ECS的通路結果,發現部署的網站内容相同,隻是顯示的後端伺服器IP不同
tips:在真實場景下,負載均衡後端的伺服器中部署的應用都是一緻的。
二、負載均衡配置
負載均衡:負載均衡(Load Balancer)是指把使用者通路的流量,通過「負載均衡器」,根據某種轉發的政策,均勻的分發到後端多台伺服器上,後端的伺服器可以獨立的響應和處理請求,進而實作分散負載的效果。負載均衡技術提高了系統的服務能力,增強了應用的可用性。
将兩台伺服器挂載到負載均衡的後端,這樣,使用者隻需通路一個IP位址或域名,負載均衡伺服器将會根據權重自動轉發使用者請求到相應的後端伺服器上。
1.登入阿裡雲負載均衡控制台
2.點選左側的 執行個體管理 ,然後打開實驗提供的執行個體,在執行個體清單頁面,點選目标執行個體右側開始配置
3.通過負載均衡業務配置向導,配置負載均衡的 監聽端口、後端伺服器 和 健康檢查
負載均衡協定:選擇 HTTP
監聽端口:設為 80
進階配置保持預設
4.添加兩台雲伺服器,分别将 端口 設定為 80,并點選 下一步 。
tips:負載均衡器将會按照輸入的權重比例分發請求。
5.在 健康檢查 配置中,開啟健康檢查按鈕為綠色 開啟狀态并送出稽核
6.此時,頁面将顯示一個狀态為 運作中 的負載均衡監聽執行個體,後端伺服器組已添加完成兩台ECS伺服器,且 健康檢查 的狀态為 正常。
三、負載均衡驗證
此時,兩台後端伺服器的權重比例相同,在控制台點選左側執行個體管理,在右側頁面中的紅框處看到負載均衡的服務位址(也就是雲産品資源提供的負載均衡的 IP位址
1.在浏覽器中建立頁面,并通路 負載均衡 的 服務位址 。
界面顯示的 後端伺服器IP 為 雲伺服器ECS-1(或 雲伺服器ECS-2) 的 内網位址,當重新整理時,後端伺服器IP 在兩個雲伺服器的 内網位址 間輪流更換
證明:負載均衡會将使用者的請求發送到後端不同的伺服器進行處理。這樣,可以減輕單台伺服器的負載壓力,進而確定業務的持續性。
2.傳回執行個體頁面,設定兩個執行個體的 權重 分别為 30 ,90
tips:通過如上的權重配置,使用者通過負載均衡通路的時候,1/4 的使用者請求發送到一台後端伺服器中,3/4 的請求發送到另一台後端伺服器中。
3.傳回已添加的伺服器的頁面,檢視到兩台 ECS執行個體 的權重分别為 30 和 90 ,并記錄對應的 ECS執行個體 内網位址。
浏覽器中,重新整理多次負載均衡 服務位址 的頁面,并記錄頁面顯示的 後端伺服器IP 。可以發現:每 4 次重新整理,将有 3 次通路 權重 為 90 的 ECS執行個體,1 次通路權重為 30 的 ECS執行個體
證明:使用者可以根據實際情況調整負載均衡器的請求分發,一般将配置高的伺服器設定的權重調高,配置較低的伺服器設定的權重調低。這樣可以避免在高并發時,配置較低的伺服器因為壓力較大服務異常的發生。
4.開啟負載均衡的 會話保持 功能:
5.逾時時間 輸入 180 (即 3 分鐘)
以此完成配置,傳回到 監聽 頁面
tips:網絡協定有七層,基于第四層傳輸層來做流量分發的方案稱為4層負載均衡,例如 LVS,而基于第七層應用層來做流量分發的稱為7層負載均衡,例如 Nginx。此實驗為7層負載均衡
再次在浏覽器中輸入 負載均衡 的 IP位址 ,多次重新整理,發現在會話保持的逾時時間内請求隻會分發到某一台 ECS 上(此實驗中的伺服器内網是172.16.1.9),時間超出後,重新按照權重比例分發
6.然後停止其中一台伺服器
7.再次重新整理浏覽器中 負載均衡 的 IP位址 ,此時,請求發送到 健康檢查狀态 為 正常 的ECS上
證明,當某一台 ECS 出現異常後,負載均衡會自動将請求發送到健康檢查狀态正常的 ECS 上。
四、知識擴充
常用的均衡算法有哪些?
NO.1—— Random 随機
這是最簡單的一種,使用随機數來決定轉發到哪台機器上。
優點:簡單使用,不需要額外的配置和算法。
缺點:随機數的特點是在資料量大到一定量時才能保證均衡,是以如果請求量有限的話,可能會達不到均衡負載的要求。
NO.2—— Round Robin 輪詢
這個也很簡單,請求到達後,依次轉發,不偏不向。每個伺服器的請求數量很平均。
缺點:當叢集中伺服器硬體配置不同、性能差别大時,無法差別對待。引出下面的算法。
NO.3—— Weighted Round Robin 權重輪詢
這種算法的出現就是為了解決簡單輪詢政策中的不足。在實際項目中,經常會遇到這樣的情況。
比如有5台機器,兩台新買入的性能等各方面都特别好,剩下三台老古董。這時候我們設定一個權重,讓新機器接收更多的請求。物盡其用、能者多勞嘛!
這種情況下,“均衡“就比較相對了,也沒必要做到百分百的平均。
NO.4—— Least Connections 最少連接配接
這是最符合負載均衡算法的一個。需要記錄每個應用伺服器正在處理的連接配接數,然後将新來的請求轉發到最少的那台上。
NO.5—— Source Hashing 源位址散列
根據請求的來源ip進行hash計算,然後對應到一個伺服器上。之後所有來自這個ip的請求都由同一台伺服器處理。
來自: https://www.jianshu.com/p/69340b4f5652