柚子快報邀請碼778899分享:運維 四層負(fù)載均衡
柚子快報邀請碼778899分享:運維 四層負(fù)載均衡
負(fù)載均衡集群
負(fù)載均衡(Load Balance):可以利用多個計算機和組合進行海量請求處理,從而獲得很高的處理效率,也可以用多個計算機做備份(高可用),使得任何一個機器壞了整個系統(tǒng)還是能正常運行。通過負(fù)載均衡使請求可以在計算機集群中盡可能平均地分?jǐn)偺幚怼C總€節(jié)點都可以承擔(dān)一定的處理負(fù)載,并且可以實現(xiàn)處理負(fù)載在節(jié)點之間的動態(tài)分配,以實現(xiàn)負(fù)載均衡。
一、負(fù)載均衡分類
負(fù)載均衡根據(jù)所采用的設(shè)備對象(軟/硬件負(fù)載均衡),應(yīng)用的OSI網(wǎng)絡(luò)層次(網(wǎng)絡(luò)層次上的負(fù)載均衡)等來分類。
在實際應(yīng)用中,比較常見的就是四層負(fù)載及七層負(fù)載。
1、四層負(fù)載均衡(基于IP+端口的負(fù)載均衡)
所謂四層負(fù)載均衡,也就是主要通過報文中的目標(biāo)地址和端口,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。
以常見的TCP為例,負(fù)載均衡設(shè)備在接收到第一個來自客戶端的SYN 請求時,即通過上述方式選擇一個最佳的服務(wù)器,并對報文中目標(biāo)IP地址進行修改(改為后端服務(wù)器IP),直接轉(zhuǎn)發(fā)給該服務(wù)器。TCP的連接建立,即三次握手是客戶端和服務(wù)器直接建立的,負(fù)載均衡設(shè)備只是起到一個類似路由器的轉(zhuǎn)發(fā)動作.
實現(xiàn)四層負(fù)載均衡的軟件:
- lvs:重量級的四層負(fù)載軟件
- nginx:輕量級的四層負(fù)載軟件,帶緩存功能,正則表達式較靈活
- haproxy:模擬四層轉(zhuǎn)發(fā),較靈活
實現(xiàn)四層負(fù)載均衡的硬件:
- F5:硬件負(fù)載均衡器,功能很好,但是成本很高。
2、七層負(fù)載均衡(基于虛擬的URL或主機IP的負(fù)載均衡)
在四層負(fù)載均衡的基礎(chǔ)上,再考慮應(yīng)用層的特征,比如同一個Web服務(wù)器的負(fù)載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類別來決定是否要進行負(fù)載均衡
以常見的TCP為例,負(fù)載均衡設(shè)備如果要根據(jù)真正的應(yīng)用層內(nèi)容再選擇服務(wù)器,只能先代理的服務(wù)器和客戶端建立連接(三次握手)后,才可能接受到客戶端發(fā)送的真正應(yīng)用層內(nèi)容的報文,然后再根據(jù)該報文中的特定字段,再加上負(fù)載均衡設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器。負(fù)載均衡設(shè)備在這種情況下,更類似于一個代理服務(wù)器。負(fù)載均衡和前端的客戶端以及后端的服務(wù)器會分別建立TCP連接。
實現(xiàn)七層負(fù)載均衡的軟件:
- haproxy:天生負(fù)載均衡技能,全面支持七層代理,會話保持,訪問控制;
- nginx:只在http協(xié)議和mail協(xié)議上功能比較好,性能與haproxy差不多;
- apache:功能較差
- Mysql proxy:功能尚可。
3、四層負(fù)載與七層負(fù)載的區(qū)別
四層負(fù)載均衡(layer 4)七層負(fù)載均衡(layer 7)基于基于IP PortURL類似于路由器代理服務(wù)器復(fù)雜度低高性能高;無需解析內(nèi)容中;需要算法識別 URL,Cookie 和 HTTP head 等信息安全性低,無法識別 DDoS等攻擊高額外功能無會話保持,圖片壓縮,防盜鏈等
總結(jié):從上面的對比看來四層負(fù)載與七層負(fù)載最大的區(qū)別就是效率與功能的區(qū)別。四層負(fù)載架構(gòu)設(shè)計比較簡單,無需解析具體的消息內(nèi)容,在網(wǎng)絡(luò)吞吐量及處理能力上會相對比較高,而七層負(fù)載均衡的優(yōu)勢則體現(xiàn)在功能多,控制靈活強大。在具體業(yè)務(wù)架構(gòu)設(shè)計時,使用七層負(fù)載或者四層負(fù)載還得根據(jù)具體的情況綜合考慮。
二、LVS實現(xiàn)四層負(fù)載均衡
1、LVS介紹
LVS 是` Linux Virtual Server`的簡稱,也就是 Linux 虛擬服務(wù)器, 是一個由章文嵩博士發(fā)起的自由軟件項目,它的官方站點是www.linuxvirtualserver.org。`現(xiàn)在LVS已經(jīng)是 Linux標(biāo)準(zhǔn)內(nèi)核的一部分,因此性能較高。`
2、LVS優(yōu)勢與不足
1)優(yōu)勢
高并發(fā)連接:LVS基于內(nèi)核網(wǎng)絡(luò)層面工作,有超強的承載能力和并發(fā)處理能力。單臺LVS負(fù)載均衡器,可支持上萬并發(fā)連接。穩(wěn)定性強:是工作在網(wǎng)絡(luò)4層之上僅作分發(fā)之用,這個特點也決定了它在負(fù)載均衡軟件里的性能最強,穩(wěn)定性最好,對內(nèi)存和cpu資源消耗極低。成本低廉:硬件負(fù)載均衡器少則十幾萬,多則幾十萬上百萬,LVS只需一臺服務(wù)器和就能免費部署使用,性價比極高。配置簡單:LVS配置非常簡單,僅需幾行命令即可完成配置,也可寫成腳本進行管理。支持多種算法:支持多種論調(diào)算法,可根據(jù)業(yè)務(wù)場景靈活調(diào)配進行使用支持多種工作模型:可根據(jù)業(yè)務(wù)場景,使用不同的工作模式來解決生產(chǎn)環(huán)境請求處理問題。應(yīng)用范圍廣:因為LVS工作在4層,所以它幾乎可以對所有應(yīng)用做負(fù)載均衡,包括http、數(shù)據(jù)庫、DNS、ftp服務(wù)等等
2)不足
工作在4層,不支持7層規(guī)則修改,不適合小規(guī)模應(yīng)用
3、LVS核心組件和專業(yè)術(shù)語
1)核心組件
LVS的管理工具和內(nèi)核模塊 ipvsadm/ipvsipvsadm:用戶空間的命令行工具,用于管理集群服務(wù)及集群服務(wù)上的RS等;ipvs:工作于內(nèi)核上的程序,可根據(jù)用戶定義的集群實現(xiàn)請求轉(zhuǎn)發(fā);
2)專業(yè)術(shù)語
VS:Virtual Server --虛擬服務(wù)Director,Balancer --負(fù)載均衡器、分發(fā)器RS:Real Server --后端請求處理服務(wù)器CIP:Client IP --客戶端IPVIP:Director Virtual IP --負(fù)載均衡器虛擬IPDIP:Director IP --負(fù)載均衡器IPRIP:Real Server IP --后端請求處理服務(wù)器IP(真實后端服務(wù)器IP)
3)LVS負(fù)載均衡工作模式
LVS/NAT:網(wǎng)絡(luò)地址轉(zhuǎn)換模式,進站/出站的數(shù)據(jù)流量經(jīng)過分發(fā)器(IP負(fù)載均衡,他修改的是IP地址) --利用三層功能LVS/DR:直接路由模式,只有進站的數(shù)據(jù)流量經(jīng)過分發(fā)器(數(shù)據(jù)鏈路層負(fù)載均衡,因為他修改的是目的mac地址)–利用二層功能mac地址LVS/TUN:隧道模式,只有進站的數(shù)據(jù)流量經(jīng)過分發(fā)器
4、LVS四種工作模式原理以及優(yōu)缺點比較
1.NAT模式(VS-NAT)
原理:
(1).客戶端訪問集群的VIP,請求WEB資源(請求報文:源地址為CIP,目標(biāo)地址為VIP);
(2).Director收到客戶端的請求報文,會修改請求報文中的目標(biāo)地址(VIP)為RIP,并且將請求根據(jù)相應(yīng)的調(diào)度算法送往后端WEB服務(wù)器(請求報文:源地址CIP,目標(biāo)地址為RIP);
(3).WEB服務(wù)器收到請求,檢查報文是訪問自己的而自己也提供WEB服務(wù),就會響應(yīng)這個請求報文,并發(fā)送給Director(響應(yīng)報文:源地址RIP,目標(biāo)地址CIP);
(4).Director收到WEB服務(wù)器的響應(yīng)報文,會根據(jù)自己內(nèi)部的追蹤機制,判斷出用戶訪問的是VIP,此時會修改源地址為VIP并響應(yīng)客戶端請求(響應(yīng)報文:源地址VIP,目標(biāo)地址CIP)。期間,無論是進來的流量,還是出去的流量,都必須經(jīng)過負(fù)載均衡器?
優(yōu)點:
集群中的物理服務(wù)器可以使用任何支持TCP/IP操作系統(tǒng),只有負(fù)載均衡器需要一個合法的IP地址。
缺點:
擴展性有限。當(dāng)服務(wù)器節(jié)點(普通PC服務(wù)器)增長過多時,負(fù)載均衡器將成為整個系統(tǒng)的瓶頸,因為所有的請求包和應(yīng)答包的流向都經(jīng)過負(fù)載均衡器。當(dāng)服務(wù)器節(jié)點過多時,大量的數(shù)據(jù)包都交匯在負(fù)載均衡器那,速度就會變慢!一般要求10-20臺節(jié)點
2.直接路由(Direct routing)模式 (VS-DR)
原理:
是通過二層數(shù)據(jù)鏈路層來傳輸,修改的是mac地址 負(fù)載均衡器和RS都使用同一個VIP對外服務(wù)?但只有DR對ARP請求進行響應(yīng),所有RS對本身這個VIP的ARP請求保持靜默?也就是說,網(wǎng)關(guān)會把對這個服務(wù)VIP的請求全部定向給DR,而DR收到數(shù)據(jù)包后根據(jù)調(diào)度算法,找出對應(yīng)的RS,把目的MAC地址改為RS的MAC(因為IP一致)并將請求分發(fā)給這臺RS?這時RS收到這個數(shù)據(jù)包,處理完成之后,由于VIP一致,可以直接將數(shù)據(jù)返給客戶,則等于直接從客戶端收到這個數(shù)據(jù)包無異,處理后直接返回給客戶端?
優(yōu)點:
和TUN(隧道模式)一樣,負(fù)載均衡器也只是分發(fā)請求,應(yīng)答包通過單獨的路由方法返回給客戶端。與VS-TUN相比,VS-DR這種實現(xiàn)方式不需要隧道結(jié)構(gòu),因此可以使用大多數(shù)操作系統(tǒng)做為物理服務(wù)器。
缺點:
(只能說是不足)要求負(fù)載均衡器的物理網(wǎng)卡必須與后端服務(wù)器的物理網(wǎng)卡在一個網(wǎng)段段上。
3.IP隧道(Tunnel)模式(VS-TUN)
原理:
互聯(lián)網(wǎng)上的大多Internet服務(wù)的請求包很短小,而應(yīng)答包通常很大。那么隧道模式就是,把客戶端發(fā)來的數(shù)據(jù)包,封裝一個新的IP頭標(biāo)記(僅目的IP)發(fā)給RS,RS收到后,先把數(shù)據(jù)包的頭解開,還原數(shù)據(jù)包,處理后,直接返回給客戶端,不需要再經(jīng)過負(fù)載均衡器?注意,由于RS需要對負(fù)載均衡器發(fā)過來的數(shù)據(jù)包進行還原,所以說必須支持IPTUNNEL協(xié)議?所以,在RS的內(nèi)核中,必須編譯支持IPTUNNEL這個選項
優(yōu)點:
負(fù)載均衡器只負(fù)責(zé)將請求包分發(fā)給后端節(jié)點服務(wù)器,而RS將應(yīng)答包直接發(fā)給用戶。所以,減少了負(fù)載均衡器的大量數(shù)據(jù)流動,負(fù)載均衡器不再是系統(tǒng)的瓶頸,就能處理很巨大的請求量,這種方式,一臺負(fù)載均衡器能夠為很多RS進行分發(fā)。而且跑在公網(wǎng)上就能進行不同地域的分發(fā)。
缺點:
隧道模式的DIP、VIP、RS節(jié)點需要合法IP,這種方式需要所有的RS的服務(wù)器OS支持”IP Tunneling”(IP Encapsulation)協(xié)議隧道功能。服務(wù)器可能只局限在部分Linux系統(tǒng)上。
4.LVS模式的區(qū)別
lvs-nat:請求和響應(yīng)報文都經(jīng)由Director
lvs-dr與lvs-tun:請求報文要經(jīng)由Director,但響應(yīng)報文由RS直接發(fā)往Client
5、LVS ipvsadm 命令的使用
1)LVS-server 安裝LVS管理軟件
yum install -y ipvsadm
2)命令選項
-A --add-service #在服務(wù)器列表中新添加一條新的虛擬服務(wù)器記錄
-a --add-server #在服務(wù)器表中添加一條新的真實主機記錄
-t --tcp-service #說明虛擬服務(wù)器提供tcp服務(wù)
-u --udp-service #說明虛擬服務(wù)器提供udp服務(wù)
-r --real-server #真實服務(wù)器地址
-m --masquerading #指定LVS工作模式為NAT模式
-w --weight #真實服務(wù)器的權(quán)值
-g --gatewaying #指定LVS工作模式為直接路由器模式(也是LVS默認(rèn)的模式)
-s --scheduler #使用的調(diào)度算法,默認(rèn)調(diào)度算法是 wlc
固定調(diào)度算法:rr,wrr,dh,sh
動態(tài)調(diào)度算法:wlc,lc,sed,nq,lblc,lblcr
固定調(diào)度算法:即調(diào)度器不會去判斷后端服務(wù)器的繁忙與否,一如既往得將請求派發(fā)下去。
動態(tài)調(diào)度算法:調(diào)度器會去判斷后端服務(wù)器的繁忙程度,然后依據(jù)調(diào)度算法動態(tài)得派發(fā)請求。
#常用的算法是:rr、wrr、wlc、lc
-C -clear #清除內(nèi)核虛擬服務(wù)器表中的所有記錄。
-S -save #保存虛擬服務(wù)器規(guī)則到標(biāo)準(zhǔn)輸出,輸出為-R 選項可讀的格式
-d -delete-server #刪除一條虛擬服務(wù)器記錄中的某條真實服務(wù)器記錄
-L|-l –list #顯示內(nèi)核虛擬服務(wù)器表
--numeric, -n:#以數(shù)字形式輸出地址和端口號
6、LVS負(fù)載均衡集群實戰(zhàn)
1)環(huán)境準(zhǔn)備
1.準(zhǔn)備虛擬機
- 準(zhǔn)備三臺純凈的虛擬機
1.LVS-server //負(fù)載均衡器
2.real-server1 //后端真實服務(wù)器
real-server2 //后端真實服務(wù)器
2.LVS-server 安裝lvs管理軟件
yum install -y ipvsadm
程序包:ipvsadm(LVS管理工具)
主程序:/usr/sbin/ipvsadm
規(guī)則保存工具:/usr/sbin/ipvsadm-save > /path/to/file
配置文件:/etc/sysconfig/ipvsadm-config
3.LVS/DR模式
DR模式的組網(wǎng)要求LVS和Real server在同一網(wǎng)段二層互通。因為LVS DR模式在負(fù)載均衡轉(zhuǎn)發(fā)報文時,只修改目的mac為real server的mac,lvs要能將報文轉(zhuǎn)發(fā)給real server,就必須滿足LVS和real server是同網(wǎng)段二層互通。
實驗說明
網(wǎng)絡(luò)使用NAT模式DR模式要求Director DIP 和 所有RealServer RIP必須在同一個網(wǎng)段及廣播域所有節(jié)點網(wǎng)關(guān)均指定真實網(wǎng)關(guān)
2)LVS/DR模式實施
1.集群中所有主機關(guān)閉防火墻和selinux
[root@lvs-server ~]#setenforce 0 //關(guān)閉selinux
[root@lvs-server ~]#systemctl stop firewalld //關(guān)閉防火墻
[root@lvs-server ~]#systemctl disable firewalld //永久關(guān)閉防火墻
2.Director分發(fā)器配置
配置VIP
1設(shè)置VIP
[root@lvs-server ~]#ip addr add dev ens33 192.168.246.160/32
為什么RS上lo配置的VIP掩碼為32位 這是由于lo設(shè)備的特殊性導(dǎo)致, 如果lo綁定VIP/24,則該設(shè)備會響應(yīng)該網(wǎng)段所有IP(192.168.246.0-254)的請求,而不是只響應(yīng)192.168.246.160這一個地址。,就算是不設(shè)置為32也是可以的,只不過會影響訪問
2安裝ipvsadm
RHEL確保LoadBalancer倉庫可用
[root@lvs-server ~]#yum install -y ipvsadm
3啟動服務(wù)
[root@lvs-server ~]#service ipvsadm start
注意:啟動如果報錯: /bin/bash: /etc/sysconfig/ipvsadm: 沒有那個文件或目錄
需要手動生成文件
[root@lvs-server ~]#ipvsadm -S > /etc/sysconfig/ipvsadm //推薦這種
或者
[root@lvs-server ~]#ipvsadm --save > /etc/sysconfig/ipvsadm
之后再重新啟動
[root@lvs-server ~]#service ipvsadm start
定義LVS分發(fā)策略
-A:添加VIP
-t:用的是tcp協(xié)議
-a:添加的是lo的vip地址
-r:轉(zhuǎn)發(fā)到real-serve rip
-s:算法
-L|-l –list #顯示內(nèi)核虛擬服務(wù)器表
--numeric, -n:#以數(shù)字形式輸出地址和端口號
-g --gatewaying #指定LVS工作模式為直接路由器模式(也是LVS默認(rèn)的模式)
-S -save #保存虛擬服務(wù)器規(guī)則到標(biāo)準(zhǔn)輸出,輸出為-R 選項可讀的格式
rr:輪循
如果添加ip錯了,刪除命令如下:
[root@lvs-server ~]#ip addr del 192.168.246.193 dev ens33
看懂之后
清除內(nèi)核虛擬服務(wù)器表中的所有記錄
[root@lvs-server ~]# ipvsadm -C
添加VIP 使用tcp協(xié)議 使用輪詢算法
[root@lvs-server ~]# ipvsadm -A -t 192.168.246.160:80 -s rr
添加lo的VIP地址 和轉(zhuǎn)發(fā)到real-server rip
[root@lvs-server ~]# ipvsadm -a -t 192.168.246.160:80 -r 192.168.246.161 -g
[root@lvs-server ~]# ipvsadm -a -t 192.168.246.160:80 -r 192.168.246.162 -g
保存到文件中
[root@lvs-server ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
查看內(nèi)核虛擬服務(wù)器表
[root@lvs-server ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.246.160:80 rr
-> 192.168.246.161:80 Route 1 0 0
-> 192.168.246.162:80 Route 1 0 0
配置real-server
兩臺real-server都這樣配置
yum install -y epel* && yum install -y nginx
按順序添加不同的主機名以示區(qū)分
事實上隨意填,只是為了區(qū)分是否負(fù)載均衡成功
echo "這里填信息" >> /usr/share/nginx/html/index.html
在lo接口上綁定VIP
ip addr add dev lo 192.168.246.160/32
忽略arp廣播
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
因為:realServer的vip有了,接著就是同一個網(wǎng)段中擁有兩個vip, 客戶端在網(wǎng)關(guān)發(fā)送arp廣播需找vip時需要讓realServer不接受響應(yīng).
設(shè)置為1,意味著當(dāng)別人的arp請求過來的時候,如果接收的設(shè)備沒有這個ip,就不做出響應(yīng)(這個ip在lo上,lo不是接收設(shè)備的進口)
匹配精準(zhǔn)IP地址回包
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
使用最好的ip來回應(yīng),什么是最好的ip?同一個網(wǎng)段內(nèi)子網(wǎng)掩碼最長的
啟動nginx
systemctl start nginx
systemctl enable nginx //設(shè)置開機自啟
測試
打開瀏覽器訪問 http://192.168.246.160
或者
再開一臺純凈機器
elinks -dump http://192.168.246.160 //-dump非交互模式
此時刷新會發(fā)現(xiàn)可能刷著刷著就不變了,那是因為nginx有個緩存時間
實際生產(chǎn)環(huán)境中,到這里已經(jīng)完成了,這個并不需要修改
我們做實驗自然可以去修改看看的
同樣是兩臺real-server都需要去做的
vim /etc/nginx/nginx.conf
找到這一行
keepalive_timeout 65;
把65 修改為 0
然后保存退出
重啟nginx
systemctl restart nginx
7、LVS的調(diào)度算法
LVS的調(diào)度算法分為靜態(tài)和動態(tài)兩類
1)靜態(tài)算法 (4種)
只根據(jù)算法進行調(diào)度 而不考慮后端服務(wù)器的實際連接情況和負(fù)載情況
①.RR:
輪叫調(diào)度(Round Robin)、輪詢
將客戶端請求平均分發(fā)到每臺Real Server
②.WRR:
加權(quán)輪叫(Weight RR)
調(diào)度器通過“加權(quán)輪叫”調(diào)度算法根據(jù)真實服務(wù)器的不同處理能力來調(diào)度訪問請求。這樣可以保證處理能力強的服務(wù)器處理更多的訪問流量。調(diào)度器可以自動問詢真實服務(wù)器的負(fù)載情況,并動態(tài)地調(diào)整其權(quán)值。
③.DH:
目標(biāo)地址散列調(diào)度(Destination Hash )
將同樣的請求發(fā)送給同一個server,一般用于緩存服務(wù)器.即將同一類型的請求分配給同一個后端服務(wù)器,例如將以 .jgp、.png等結(jié)尾的請求轉(zhuǎn)發(fā)到同一個節(jié)點。這種算法其實不是為了真正意義的負(fù)載均衡,而是為了資源的分類管理。這種調(diào)度算法主要應(yīng)用在使用了緩存節(jié)點的系統(tǒng)中,提高緩存的命中率。
④.SH:
源地址 hash(Source Hash)
源地址散列”調(diào)度算法根據(jù)請求的源IP地址,
簡單的說就是有將同一客戶端的請求發(fā)給同一個real server,如果后端服務(wù)器工作正常沒有超負(fù)荷的話。這可以解決session共享的問題,但是這里有個問題,很多企業(yè)、社區(qū)、學(xué)校都是共用的一個IP,這將導(dǎo)致請求分配的不均衡。
2)動態(tài)算法(6種)
前端的調(diào)度器會根據(jù)后端真實服務(wù)器的實際連接情況來分配請求
①.LC:
最少鏈接(Least Connections)
調(diào)度器通過”最少連接”調(diào)度算法動態(tài)地將網(wǎng)絡(luò)請求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實服務(wù)器具有相近的系統(tǒng)性能,采用”最小連接”調(diào)度算法可以較好地均衡負(fù)載。
②.WLC:
加權(quán)最少連接(默認(rèn)采用的就是這種)(Weighted Least Connections)
根據(jù)Real Server 權(quán)重值,選擇連接數(shù)最少的服務(wù)器。
③.SED:
最短期望延遲調(diào)度(Shortest Expected Delay )
不考慮非活動連接,誰的權(quán)重大,我們優(yōu)先選擇權(quán)重大的服務(wù)器來接收請求,但會出現(xiàn)問題,就是權(quán)重比較大的服務(wù)器會很忙,但權(quán)重相對較小的服務(wù)器很閑,甚至?xí)邮詹坏秸埱?,所以便有了下面的算法nq。
④.NQ:
永不排隊/最少隊列調(diào)度(Never Queue Scheduling NQ)
無需隊列。如果有臺realserver的連接數(shù)=0就直接分配過去,保證不會有一個主機很空間。
⑤.LBLC:
基于局部性的最少鏈接(locality-Based Least Connections)
基于局部性的最少鏈接”調(diào)度算法是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)?該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負(fù)載,則用“最少鏈接”的原則選出一個可用的服務(wù)器,將請求發(fā)送到該服務(wù)器?
⑥. LBLCR:
帶復(fù)制的基于局部性最少連接(Locality-Based Least Connections with Replication)
帶復(fù)制的基于局部性最少鏈接”調(diào)度算法也是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)?它與LBLC算法的不同之處是它要維護從一個目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護從一個目標(biāo)IP地址到一臺服務(wù)器的映射?該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址對應(yīng)的服務(wù)器組,按”最小連接”原則從服務(wù)器組中選出一臺服務(wù)器,若服務(wù)器沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器超載,則按“最小連接”原則從這個集群中選出一臺服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請求發(fā)送到該服務(wù)器?同時,當(dāng)該服務(wù)器組有一段時間沒有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。
柚子快報邀請碼778899分享:運維 四層負(fù)載均衡
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。