① 國內應用負載均衡比較成熟的技術有哪些
一、應用負載均衡技術:
1)輪循調度(Round-Robin) 它將請求依次分配不同的RS,也就是在RS中均攤請求。這種演算法簡單,但是只適合於伺服器處理性能相差不大的情況。
2)加權輪循調度(Weighted Round-Robin) 它將依據不同伺服器的權值分配任務。權值較高的伺服器將優先獲得任務,並且分配到的連接數將比權值較低的伺服器更多。相同權值的伺服器得到相同數目的連接數。
3)目的地址哈希調度 (Destination Hashing) 以目的地址為關鍵字查找一個靜態hash表來獲得需要的伺服器。
4)源地址哈希調度(Source Hashing) 以源地址為關鍵字查找一個靜態hash表來獲得需要的伺服器。
5)最小連接數調度(Least-Connection),把新的連接請求發送到當前連接數最小的伺服器。
6)加權最小連接數調度(Weighted Least-Connection) 假設各台伺服器的權值依次為Wi(I = 1..n),當前的TCP連接數依次為Ti(I=1..n),依次選取Ti/Wi為最小的伺服器作為下一個分配的伺服器。
7)基於地址的最小連接數調度(Locality-Based Least-Connection) 當上一次分配的伺服器不忙(此時權重就是最大連接數)時,將當前來自同一目的地址的請求分配給同一台伺服器,否則採用加權最小連接數調度演算法分配伺服器,並以它為下一次分配的首先考慮。
8)基於地址的帶重復最小連接數調度(Locality-Based Least-Connection with Replication) 對於某一目的地址,對應有一個伺服器子集。對此地址的請求,為它分配子集中連接數最小的伺服器;如果子集中所有的伺服器均已滿負荷,則從集群中選擇一個連接數較小的伺服器,將它加入到此子集並分配連接;若一定時間內,這個子集未被做任何修改,則將子集中負載最大的節點從子集刪除。
9)最短預期延遲調度(Shortest Expected Delay Scheling)(最短延遲調度) 將網路連接分配給具有最短預期延遲的伺服器。
計算方式:當前每台伺服器的當前連接數Ci,權重為Wi,取(Ci+1)/Wi最小的伺服器
10)不排隊調度(Never Queue Scheling)(最快調度)當集群中有一台伺服器空閑時,就將當前的請求發送給此伺服器;否則採用演算法9)最短預期延遲演算法。
二、鏈路負載均衡技術:
採用包括策略路由(基於源地址或者目的地址)、Round Robin(輪詢)、Weighted Round Robin(加權輪詢)、擁塞均衡、備份均衡等演算法,充分滿足用戶差異化需求,最佳利用網路現有帶寬資源,實現流出與流入(Inbound & Outbound)流量的多鏈路負載均衡,為用戶建立最佳質量最佳服務的網路環境。
1)流出流量的負載均衡。對於流出流量進行智能的管理,實現多鏈路下的流出流量均衡,還可以按企業特定的策略選擇出站鏈路,提高鏈路利用率,節約企業對通信鏈路的投資。
目的地址策略路由:根據目的IP地址智能選擇流出路徑,即當目的地址處於某一個ISP的IP地址范圍內時,自動選擇此ISP提供的鏈路。
Round Robin(輪詢)演算法:按照順序選擇多個鏈路出口作為每個數據流的流出路徑
Weighted Round Robin(加權輪詢演算法):為每條鏈路設置一個權重值,按照權重順序選擇多個鏈路出口作為每個數據流的流出路徑。在多條不同帶寬的鏈路上,設置不同的權重,可以保證每條鏈路利用的均衡。
擁塞均衡演算法:可以為每條鏈路設置擁塞閾值,當鏈路利用率超過閾值時,可以選擇其它利用率較低的鏈路。
備份均衡演算法:當兩條或多條鏈路屬於同一運營商時,可以將某一條鏈路設置為備份鏈路,備份鏈路在主鏈路沒有擁塞時,一直處於閑置狀態,當主鏈路擁塞後,流量才會進入備份鏈路。
2)流入流量負載均衡。採用智能DNS均衡演算法實現企業入站流量在不同ISP鏈路上的流量均衡。
源地址策略路由:根據源IP所處的ISP,來進行智能DNS解析,返回屬於此ISP的IP地址。
Round Robin演算法:順序將多個ISP的地址作為每次用戶解析請求的返回地址。
Weighted Round Robin演算法:為每個ISP提供的鏈路設置權重值,按照權重值順序選擇多個ISP的IP地址返回。
擁塞均衡演算法:為每條鏈路設置擁塞閾值,當鏈路利用率超過閾值時,返回利用率較低的鏈路對應的ISP的IP地址。
② 彈性負載均衡支持哪些演算法
彈性負載均衡支持以下演算法:
這些演算法根據不同的需求和應用場景,用於將流量分配到不同的後端伺服器上,以達到負載均衡的目的。
③ 如何實現負載均衡,哪些演算法可以實現
1、輪詢調度
輪詢調度演算法就是以輪詢的方式依次將請求調度到不同的伺服器,即每次調度執行i = (i + 1) mod n,並選出第i台伺服器。演算法的優點是其簡潔性,它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。
2、最小連接調度
最小連接調度演算法是把新的連接請求分配到當前連接數最小的伺服器。最小連接調度是一種動態調度演算法,它通過伺服器當前所活躍的連接數來估計伺服器的負載情況。
在實際實現過程中,一般會為每台伺服器設定一個權重值,這就是加權最小連接
3、 基於局部性的最少鏈接(LBLC)
基於局部性的最少鏈接調度(以下簡稱為LBLC)演算法是針對請求報文的目標IP地址的負載均衡調度,目前主要用於Cache集群系統,因為在Cache集群中客戶請求報文的目標IP地址是變化的。
LBLC調度演算法先根據請求的目標IP地址找出該目標IP地址最近使用的伺服器,若該伺服器是可用的且沒有超載,將請求發送到該伺服器; 若伺服器不存在,或伺服器超載或有伺服器處於其一半的工作負載,則用「最少鏈接」的原則選出一個可用的伺服器,將請求發送到該伺服器。
4、帶復制的基於局部性最少鏈接(LBLCR)
帶復制的基於局部性最少鏈接調度以下簡稱為LBLCR)演算法也是針對目標IP地址的負載均衡,目前主要用於Cache集群系統。它與LBLC演算法的不同之處是它要維護從一個目標IP地址到一組伺服器的映射,而LBLC演算法維護從一個目標IP地址到一台伺服器的映射。
LBLCR調度演算法將「熱門」站點映射到一組Cache伺服器(伺服器集合),當該「熱門」站點的請求負載增加時,會增加集合里的Cache伺服器,來處理不斷增長的負載; 當該「熱門」站點的請求負載降低時,會減少集合里的Cache伺服器數目。
5、目標地址散列調度
目標地址散列調度演算法是針對目標IP地址的負載均衡,但它是一種靜態映射演算法,通過一個散列(Hash)函數將一個目標IP地址映射到一台伺服器。
目標地址散列調度演算法先根據請求的目標IP地址,作為散列從靜態分配的散列表找出對應的伺服器,若該伺服器是可用的且未超載,將請求發送到該伺服器,否則返回空。
6、 源地址散列調度
和目標地址散列調度類似,唯一的區別是按照源地址為散列函數的散列鍵。