阿里雲ECS服務器SLB負載均衡實踐
負載均衡( Load Balance )
其含義就是指將負載(工作任務)進行平衡、分攤到多個操作單元上進行運行,例如FTP服務器、Web服務器、企業核心應用服務器和其它主要任務服務器等,從而協同完成工作任務。
負載均衡構建在原有網絡結構之上,它提供了一種透明且廉價有效的方法擴展服務器和網絡設備的帶寬、加強網絡數據處理能力、增加吞吐量、提高網絡的可用性和靈活性。
背景:
擁有大量用戶的企業,經常會面臨如下的難題:在高併發的情況下,經常會導致服務器響應速度慢,嚴重的情況會直接導致服務器停止服務。此時,會導致企業的業務中斷,影響客戶的正常訪問。
負載均衡應運而生
阿里雲的負載均衡SLB(Server Load Balancer):
1.簡介:
- 是將訪問流量根據轉發策略分發到後端多臺雲服務器(ECS實例)的流量分發控制服務。負載均衡擴展了應用的服務能力,增強了應用的可用性。
- 負載均衡通過設置虛擬服務地址,將添加的ECS實例虛擬成一個高性能、高可用的應用服務池,並根據轉發規則,將來自客戶端的請求分發給雲服務器池中的ECS實例。
- 負載均衡默認檢查雲服務器池中ECS實例的健康狀態,自動隔離異常狀態的ECS實例,消除了單臺ECS實例的單點故障,提高了應用的整體服務能力。此外,負載均衡還具備抗DDoS攻擊的能力,增強了應用服務的防護能力。
2.架構:
- 負載均衡實例 (Server Load Balancer instances):運行的負載均衡服務,用來接收流量並將其分配給後端服務器
- 監聽 (Listeners): 監聽用來檢查客戶端請求並將請求轉發給後端服務器。監聽也會對後端服務器進行健康檢查。
- 後端服務器(Backend Servers):一組接收前端請求的ECS實例。 最少兩臺服務器
3.原理:
- 負載均衡服務首先創建出負載均衡實例,設置負載均衡實例的虛擬服務地址(即上圖virtual IP);
- 同時後端服務器為服務器實例,擁有自己的IP地址(即上圖real IP(1、2、3))
- 負載均衡服務通過計算,將訪問瀏覽均衡的分配到多臺服務器上
需求:本次實驗最低需求兩臺雲服務器ECS
一、雲服務器狀態確認
上圖創建了兩臺雲服務器ECS實例和一個負載均衡實例,它們各自擁有各自的彈性IP地址
驗證兩臺雲服務器ECS是否能正常訪問
在瀏覽器兩個頁面分別輸入兩臺雲服務器ECS的彈性IP訪問
比較兩臺ECS的訪問結果,發現部署的網站內容相同,只是顯示的後端服務器IP不同。
在下面的實驗中我們稱:
後端服務器IP尾數為130:ECS-1
後端服務器IP尾數為130:ECS-2
在真實場景下,負載均衡後端的服務器中部署的應用都是一致的。
二、負載均衡配置
1.登錄
在阿里雲登陸界面選擇用RAM用戶登錄
使用實驗提供的子用戶名稱和子用戶名密碼登陸阿里雲管理控制檯
登錄後點擊左側 導航欄的 產品與服務 選擇 負載均衡
2.配置負載均衡實例
a.左側欄選擇實例管理->上方選擇地區->右下方點擊“點我開始配置”
b.選擇http負載均衡協議,填寫http監聽端口80,點擊下一步
c.選擇默認服務組,點擊繼續添加
d.勾選兩臺實例雲服務器ECS,點擊下一步
e.設置權重各位100,點擊添加
f.填入b步驟相同的端口號,下一步
g.開啟健康檢查
h.檢查一遍後,提交
等待一分鐘左右,健康檢查會顯示正常
三、負載均衡驗證
驗證內容:
- 驗證負載均衡的工作原理;
- 驗證通過配置不同後端服務器權重,將用戶的請求按比例分發到不同後端服務器;
- 驗證在一臺後端服務器開啟會話請求時,請求在會話開啟的時間內只會分發到這一臺服務器。
1.驗證負載均衡的工作原理;
- 在控制檯點擊左側 實例管理 ,在右側頁面中的紅框處看到負載均衡的 公網服務地址
該公網服務地址即為負載均衡實例的彈性IP地址
b.在瀏覽器上輸入a的公網服務地址並訪問
可見後端服務器IP尾數為131(ECS-2),但當我們刷新一遍後,如下圖
後端服務器IP尾數變為130(第二臺ECS-1)
當我們不停的刷新,會發現後端服務器IP 實在這兩臺ECS的內外地址之間輪流轉換
因為我們在第二步配置的兩臺ECS的權重是相同的
下一步我們試著改變兩臺ECS的權重不相同看看效果如何
2.驗證通過配置不同後端服務器權重,將用戶的請求按比例分發到不同後端服務器
a.進入控制檯--選擇負載均衡--實例管理--點擊進入實例--默認服務器組,進入如下圖所示
b.勾選兩臺服務器--點擊修改權重
c.設置權重 30,90,效果如下圖
d.在瀏覽器中,刷新多次負載均衡服務地址的頁面,統計頁面的後端服務器IP。
可以發現:每 4 次刷新,將有 3 次訪問 權重 為 90 的 ECS實例,1 次訪問權重為 30 的 ECS實例。
總結:
用戶可以根據實際情況調整負載均衡器的請求分發,一般將配置高的服務器設置的權重調高,配置較低的服務器設置的權重調低。這樣可以避免在高併發時,配置較低的服務器因為壓力較大服務異常的發生。
3.驗證在一臺後端服務器開啟會話請求時,請求在會話開啟的時間內只會分發到這一臺服務器
a.實例管理界面---監聽---修改監聽配置
b.點擊修改
c.開啟會話保持、可選擇修改會話保持超時時間
d.依次點擊下一步,不修改
- 再次在瀏覽器中輸入 負載均衡 的 IP地址 ,多次刷新,發現在會話保持的超時時間內請求只會分發到某一臺 ECS 上(究竟是哪一臺 ECS 沒有規定),時間超出後,重新按照權重比例分發。
當我們關閉會話保持的ECS-2
a.進入實例
b.點擊停止
c.返回,顯示如下圖所示,ECS-2已關閉
d.在監聽頁面和實例管理頁面,健康狀態顯示異常
- 再次刷新瀏覽器中 負載均衡 的 IP地址 ,此時,請求發送到 健康檢查狀態 為 正常 的ECS-1上。