負載均衡算法選擇配置
更新時間 2023-08-30 11:06:19
最近更新時間: 2023-08-30 11:06:19
分享文章
負載均衡算法選擇配置是彈性負載均衡產品的典型應用,本文幫助您了解負載均衡算法選擇配置的應用場景和算法原理。
應用場景
在為業務配置負載均衡時,需要選擇合適的流量分發算法,對流量進行負載分發。選擇合理的負載均衡算法,可避免服務器負載不均,部分服務器負載過高影響服務性能。
算法原理
掌握了算法的基本原理,才有助于您根據自己的業務需求選擇合理的的負載均衡算法。
| 算法 | 輪詢算法 | 最少連接算法 | 源算法 |
|---|---|---|---|
| 原理 | 輪詢算法就是以輪詢的方式依次將請求調度不同的服務器。輪詢算法可以解決服務器間性能不一的情況,它用相應的權值表示服務器的處理性能,按權值的高低和輪詢方式分配請求到各服務器。權值高的服務器先收到連接,權值高的服務器比權值低的服務器處理更多的連接,相同權值的服務器處理相同數目的連接數。 | 在實際情況中,客戶端的每一次請求服務在服務器停留的時間可能會有較大的差異,隨著工作時間的延伸,如果采用簡單的輪詢或隨機均衡算法,每一臺服務器上的連接進程數目可能會產生極大的不同,這樣實際上并沒有達到真正的負載均衡。最小連接調度是一種動態調度算法,它通過服務器當前所活躍的連接數來評估服務器的負載情況。與輪詢算法相反,調度器需要記錄各個服務器已建立連接的數目,當一個請求被調度到某臺服務器,其連接數加1;當連接中止或超時,其連接數減1。 | 根據請求的源IP地址,作為散列鍵(Hash Key)從靜態分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發送到該服務器,如果該服務器不可用,ELB會選擇下一個可用服務器做兜底轉發。 |
| 優勢 | 輪詢算法的優點是其簡潔性和實用性。它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。 | 此種均衡算法適合長時處理的請求服務,如FTP等應用。 | ip_hash可以實現部分會話保持的效果,能夠記住源 IP,使某一客戶端請求通過 hash 表一直映射在同一臺后端主機上。 |
| 劣勢 | 輪詢算法相對簡單,但不適用于請求服務時間變化比較大,或者每個請求所消耗的時間不一致的情況,此時輪詢算法容易導致服務器間的負載不平衡。 | 對短連接的服務,服務器連接數變化過于頻繁,沒有明顯優勢。 | 在訪問量差異大的場景,容易導致負載不均 |
| 適用場景 | 每個請求所占用的后端時間基本相同,負載情況最好。常用于短連接服務,例如HTTP 等服務。 | 每個請求所占用的后端時間相差較大的場景。常用于長連接服務。 | 適用于TCP/UDP協議類型的負載均衡,在不支持會話保持的場景可以使用 ip_hash 進行調度。 |
前提條件
- 您已在所在可用區創建VPC,并創建業務主機,完成服務配置。具體操作可參考創建虛擬私有云VPC和創建彈性云主機頁面。
- 您已創建負載均衡實例。具體操作可參考彈性負載均衡快速入門。
操作步驟
- 點擊ELB實例名稱,進入監聽器配置頁面。
- 在監聽器頁面,點擊“添加監聽器”按鈕,創建監聽器。

- 在“協議&監聽器”頁面,依次填寫監聽器名稱、負載均衡器協議/端口等參數配置。
- 點擊“下一步”進入新建后端主機組頁面,填寫后端主機組名稱,勾選上要添加的主機并設置端口-權重,添加完成點擊“下一步”。
- 進入“負載均衡&健康檢查”配置頁面,在負載方式字段選擇負載均衡算法,并完成會話保持、健康檢查等其它配置。


- 點擊“立即創建”即可完成配置。