我們平常使用的F5,LVS,HAproxy,Nginx等負載均衡軟件或設備,不管是基于硬件負載,還是基于軟件的負載,其負載均衡的算法都是一樣的。主要有以下幾種:
一、輪詢( Round Robin,RR )
所有請求被依次分發到每臺應用服務器上,即每臺服務器需要處理的請求數目都相同,適合于所有服務器硬件都相同的場景。

二、加權輪詢( Weighted Round Robin, WRR)
根據應用服務器硬件性能的情況,在輪詢的基礎上,按照配置的權重將請求分發到每個服務器,高性能的服務器能分配更多請求。

三、隨機( Random )
請求被隨機分配到各個應用服務器,在許多場合下,這種方案都很簡單實用,因為好的隨機數本身就很均衡。即使應用服務器硬件配置不同,也可以使用加權隨機算法。
四、最少連接(Least Connections)
記錄每個應用服務器正在處理的連接數(請求數),將新到的請求分發到最少連接的服務器上,應該說,這是最符合負載均衡定義的算法。同樣,最少連接算法也可以實現加權最少連接。
五、源地址散列( Source Hashing )
根據請求來源的IP地址進行Hash計算,得到應用服務器,這樣來自同一個IP地址的請求總在同一個服務器上處理,該請求的上下文信息可以存儲在這臺服務器上,在一個會話周期內重復使用,從而實現會話黏滯。