天天看點

SLB 負載均衡實踐SLB負載均衡實踐

SLB負載均衡實踐

使用阿裡雲負載均衡SLB以及對負載均衡SLB後端伺服器ECS的權重進行修改,以實作高并發負載均衡
SLB 負載均衡實踐SLB負載均衡實踐

背景知識——負載均衡

  • 定義
    • 将通路流量根據轉發政策分發到後端多台雲伺服器(ECS執行個體)的流量分發控制服務。負載均衡擴充了應用的服務能力,增強了應用的可用性。
  • 三個核心概念
    • 負載均衡執行個體(Server Load Balancer instances)
      • 一個負載均衡執行個體是一個運作的負載均衡服務,用來接收流量并将其配置設定給後端伺服器。要使用負載均衡服務,您必須建立一個負載均衡執行個體,并至少添加一個監聽和兩台ECS執行個體
    • 監聽(Listeners)
      • 監聽用來檢查用戶端請求并将請求轉發給後端伺服器。監聽也會對後端伺服器進行健康檢查
    • 後端伺服器(Backend Servers)
      • 一組接收前端請求的ECS執行個體。可以單獨添加ECS執行個體到伺服器池,也可以通過虛拟伺服器組或主備伺服器組來批量添加和管理
  • 特點
    • 負載均衡服務通過設定虛拟服務位址(IP),将位于同一地域(Region)的多台雲伺服器(Elastic Compute Service,簡稱ECS)資源虛拟成一個高性能、高可用的應用服務池;根據應用指定的方式,将來自用戶端的網絡請求分發到雲伺服器池中
    • 負載均衡服務會檢查雲伺服器池中ECS的健康狀态,自動隔離異常狀态的ECS,進而解決了單台ECS的單點問題,同時提高了應用的整體服務能力。在标準的負載均衡功能之外,負載均衡服務還具備TCP與HTTP抗DDoS攻擊的特性,增強了應用伺服器的防護能力
    • 負載均衡服務是ECS面向多機方案的一個配套服務,需要同ECS結合使用

1. 建立資源

  • 由于是負載均衡實踐,是以阿裡雲實驗為我們提供了兩台雲伺服器ECS
SLB 負載均衡實踐SLB負載均衡實踐

2. 雲伺服器狀态确認

  • 我們分别通路兩台雲伺服器ECS的彈性IP位址,可以發現,兩個頁面的内容完全一樣,隻是後端伺服器的IP不同
    SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
在真實場景下,負載均衡後端的伺服器中部署的應用都是一緻的

3. 負載均衡配置

  • 我們點選左側的

    一鍵複制url

    ,在浏覽器中打開,然後輸入實驗提供的

    子使用者名稱

    子使用者密碼

    ,登入阿裡雲管理控制台
SLB 負載均衡實踐SLB負載均衡實踐
  • 點選負載均衡
SLB 負載均衡實踐SLB負載均衡實踐
  • 點選

    執行個體管理

    ,選擇實驗提供的示例,然後點選

    點我開始配置

SLB 負載均衡實踐SLB負載均衡實踐
  • 【協定 & 監聽】配置
    • 負載均衡協定:HTTP
    • 監聽端口:80
    • 進階配置:預設
SLB 負載均衡實踐SLB負載均衡實踐
  • 【後端伺服器】配置
    • 監聽請求轉發至選擇

      預設伺服器組

      ,然後點選

      繼續添加

SLB 負載均衡實踐SLB負載均衡實踐
- 選擇實驗預先配置好的兩台ECS伺服器,點選下一步,點選添加           
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
- 在【後端伺服器】界面可以看到剛才添加的兩台伺服器,将 `端口` 設定為 80,點選下一步           
SLB 負載均衡實踐SLB負載均衡實踐
>負載均衡器将會按照輸入的權重比例分發請求           
  • 【健康檢查】配置
    • 打開

      開啟健康檢查

      ,然後點選下一步
SLB 負載均衡實踐SLB負載均衡實踐
  • 【配置稽核】
    • 确認自己前面資訊填寫無誤後,點選

      送出

      ,彈窗點選

      知道了

SLB 負載均衡實踐SLB負載均衡實踐
  • 稍等一會,然後重新整理一下,健康檢查顯示為【健康】
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐

4. 負載均衡驗證

4.1 驗證負載均衡的工作原理

  • 剛才建立後,兩台伺服器的權重均為100,我們首先驗證一下負載均衡伺服器是否輪詢通路後端雲伺服器ECS執行個體
  • 重複通路此位址,我們可以發現後端伺服器IP是在兩個雲伺服器的内網位址間輪流更換
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
  • 如上結果證明:負載均衡會将使用者的請求發送到後端不同的伺服器進行處理。這樣,可以減輕單台伺服器的負載壓力,進而確定業務的持續性。

4.2 驗證不同權重的負載均衡

  • 預設服務組

    ,然後選擇兩個雲伺服器執行個體,點選

    修改權重

SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
  • 我們将兩台伺服器的權重分别設定為 30 和 90
SLB 負載均衡實踐SLB負載均衡實踐
通過如上的權重配置,使用者通過負載均衡通路的時候,1/4 的使用者請求發送到一台後端伺服器中,3/4 的請求發送到另一台後端伺服器中
  • 浏覽器中,重新整理多次負載均衡 服務位址 的頁面,并記錄頁面顯示的 後端伺服器IP 。可以發現:每 4 次重新整理,将有 3 次通路 權重 為 90 的 ECS執行個體,1 次通路權重為 30 的 ECS執行個體

4.3 驗證會話保持功能

  • 管理

SLB 負載均衡實踐SLB負載均衡實踐
  • 跳轉到監聽頁面後點選

    修改監聽配置

SLB 負載均衡實踐SLB負載均衡實踐
  • 在進階配置處點選修改
SLB 負載均衡實踐SLB負載均衡實踐
  • 開啟會話保持,會話保持逾時時間設定為 180,然後點選下一步
SLB 負載均衡實踐SLB負載均衡實踐
  • 後面幾個都選擇預設設定即可
SLB 負載均衡實踐SLB負載均衡實踐
  • 再次在浏覽器中輸入 負載均衡 的 IP位址 ,多次重新整理,發現在會話保持的逾時時間内請求隻會分發到某一台 ECS 上(究竟是哪一台 ECS 沒有規定),時間超出後,重新按照權重比例分發
SLB 負載均衡實踐SLB負載均衡實踐
  • 關閉開啟 會話保持 的那台ECS 。預設伺服器組頁面,已添加的伺服器中 ,點選目标ECS的的高亮部分(即 雲伺服器ID
SLB 負載均衡實踐SLB負載均衡實踐
  • 點選停止将其關閉,等待大概1分鐘就會停止運作
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
  • 在【監聽】和 【執行個體】處可以看到都出現了異常
SLB 負載均衡實踐SLB負載均衡實踐
SLB 負載均衡實踐SLB負載均衡實踐
  • 此時再進行通路負載均衡的IP位址,請求發送到健康檢查狀态為正常 的ECS上
SLB 負載均衡實踐SLB負載均衡實踐
通過以上操作我們發現:當某一台 ECS 出現異常後,負載均衡會自動将請求發送到健康檢查狀态正常的 ECS 上

繼續閱讀