摘要:本文已獲得原作者霸都民工哥授權(quán)。簡(jiǎn)單介紹虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng),可以在和系統(tǒng)中運(yùn)行,年開(kāi)發(fā)研究的項(xiàng)目。官方網(wǎng)站發(fā)展史在內(nèi)核時(shí),就已經(jīng)以內(nèi)核補(bǔ)丁的形式出現(xiàn)從。
本文已獲得原作者霸都民工哥授權(quán)。
寫(xiě)在前面為什么需要使用負(fù)載均衡呢?這是一個(gè)必較重要的問(wèn)題LVS簡(jiǎn)單介紹
實(shí)際生產(chǎn)環(huán)境中某單臺(tái)服務(wù)器已不能負(fù)載日常用訪問(wèn)壓力時(shí),就需要使用負(fù)載均衡,把用戶的請(qǐng)求數(shù)據(jù)分擔(dān)到(盡可能平均分配)后端所有功能同等的集群的節(jié)點(diǎn)上,同樣也是為了解決單臺(tái)服務(wù)器故障問(wèn)題,從而提高用戶的訪問(wèn)體驗(yàn)。
LVS(linux virtual server)LINUX 虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng),可以在 linux 和 unix 系統(tǒng)中運(yùn)行,1985年開(kāi)發(fā)研究的項(xiàng)目。
官方網(wǎng)站:http://www.linuxvirtualserver...
在linux2.2內(nèi)核時(shí),IPVS 就已經(jīng)以內(nèi)核補(bǔ)丁的形式出現(xiàn)
從2.4。24版本以后 IPVS 已經(jīng)成為 linux 內(nèi)核官方標(biāo)準(zhǔn)內(nèi)核的一部分
LVS 負(fù)載均衡調(diào)度技術(shù)是在 linux 內(nèi)核中實(shí)現(xiàn)的,我們使用配置 LVS 時(shí),不是直接配置內(nèi)核中的 IPVS,而是通過(guò) IPVS 的管理工具 IPVSADM 來(lái)管理配置
LVS 集群負(fù)載均衡器接受所有入站客戶端的請(qǐng)求,并根據(jù)算法來(lái)決定由哪個(gè)集群的節(jié)點(diǎn)來(lái)處理請(qǐng)求
虛擬 IP 地址(VIP):用于向客戶端提供服務(wù)的 IP 地址(配置于負(fù)載均衡器上)
真實(shí)的IP地址(RIP):集群中節(jié)點(diǎn)服務(wù)器的IP地址
負(fù)載均衡器 IP 地址(DIP):物理網(wǎng)卡上的IP,用與同外網(wǎng)連接的地址
客戶端主機(jī) IP 地址(CIP): 終端請(qǐng)求用戶的主機(jī)IP地址
LVS 幾種工作模式介紹通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換,調(diào)度器 LB 重寫(xiě)請(qǐng)求報(bào)文的目標(biāo)地址,根據(jù)算法將請(qǐng)求分配給后端的真實(shí)主機(jī)服務(wù)器,真實(shí)服務(wù)器響應(yīng)處理報(bào)文后返回給調(diào)度器 LB ,經(jīng)過(guò) LB 的報(bào)文源地址被重寫(xiě),再返回給請(qǐng)求的客戶端用戶
1:客戶端請(qǐng)求 CIP(10.10.0.1:80)目標(biāo)的地址是VIP(1.1.1.1:80)2:數(shù)據(jù)經(jīng)過(guò) LB,目的地址將被 LB 改寫(xiě)成后端服務(wù)器其中一個(gè)主機(jī)地址(RIP 192.168.1.1:80)
3:服務(wù)器接收到數(shù)據(jù)請(qǐng)求后返回應(yīng)答信息(源地址:192.168.1.:80,目的地址:1.1.1.1:80,因此處的網(wǎng)關(guān)地址需指向LB)給 LB
4:LB 需將源數(shù)據(jù)地址改寫(xiě)成 VIP 地址(1.1.1.1:80,但實(shí)際的源地址是RIP1的地址)
5:LB 將數(shù)據(jù)返回給請(qǐng)求的客戶端用戶,完成整個(gè)流程的訪問(wèn)
因此 WEB 訪問(wèn)量很大的時(shí)候,LB 就會(huì)有很大的負(fù)載壓力,一般支持10-20臺(tái)節(jié)點(diǎn),但是這種模式支持IP和端口的轉(zhuǎn)換功能,即10.10.0.1:80---->1.1.1.1:80---->192.168.1.1:8080
LB 將請(qǐng)求的報(bào)文通過(guò)IP隧道轉(zhuǎn)發(fā)給真實(shí)服務(wù)器,這樣 LB 只要需要處理請(qǐng)求入站報(bào)文,因此可提高訪問(wèn)效率
1:客戶端發(fā)送請(qǐng)求數(shù)據(jù)包(源:CIP10.10.1.1:80,目的地址:VIP1.1.1.1:80)2:數(shù)據(jù)包到達(dá) LB 后,LB 將數(shù)據(jù)包重新封裝成另一個(gè) IP 包(源目地址不變,增加一個(gè)IP頭),通過(guò)隧道轉(zhuǎn)發(fā)給真實(shí)服務(wù)器
3:真實(shí)服務(wù)器收到數(shù)據(jù)包后進(jìn)行解包,數(shù)據(jù)包信息是(源:CIP 10.10.1.1:80,目的地址:VIP 1.1.1.1:80),最終發(fā)現(xiàn)目的地址不是自己(因此需要在服務(wù)器LO上綁定一個(gè)VIP地址),這樣才會(huì)處理數(shù)據(jù),返回處理數(shù)據(jù)
4:客戶端接收到返回的數(shù)據(jù)(源地址 VIP 1.1.1.1:80,目的地址 CIP 10.10.1.1:80),符合 TCP/IP 的原理,因此整個(gè)訪問(wèn)過(guò)程完成
注:這時(shí)肯定有朋友發(fā)現(xiàn)這里會(huì)有一個(gè)問(wèn)題,每臺(tái)服務(wù)器上都綁定了一個(gè)相同 VIP 地址,用戶訪問(wèn)時(shí)的目的地址也是 VIP,當(dāng)數(shù)據(jù)包達(dá)到路由器后經(jīng)過(guò)轉(zhuǎn)發(fā)至內(nèi)網(wǎng),內(nèi)網(wǎng)可能會(huì)產(chǎn)生多臺(tái)回應(yīng)數(shù)據(jù)包的機(jī)器,然后用戶收到的最快回應(yīng)的內(nèi)網(wǎng)機(jī)器發(fā)來(lái)的數(shù)據(jù),這樣一來(lái)數(shù)據(jù)包也就沒(méi)有經(jīng)過(guò) LB,就不是負(fù)載均衡了,所以需要做抑制 ARP 的功能,使所有真實(shí)服務(wù)器不再響應(yīng)目的地址是 VIP 的請(qǐng)求,只要 LB 來(lái)響應(yīng)請(qǐng)求,從而達(dá)到負(fù)載均衡。在實(shí)際生產(chǎn)環(huán)境中很少使用這種模式
此模式是通過(guò)改寫(xiě)請(qǐng)求報(bào)文的目標(biāo) MAC 地址,將請(qǐng)求發(fā)給真實(shí)服務(wù)器,而真實(shí)服務(wù)器將響應(yīng)后的數(shù)據(jù)直接回應(yīng)給請(qǐng)求的客戶端,此模式要求 LB 與真實(shí)服務(wù)器需要有一塊物理網(wǎng)卡都是連接在同一網(wǎng)段上
1:客戶端發(fā)出請(qǐng)求數(shù)據(jù)包(源 CIP 10.10.1.1:80 目的VIP1.1.1.1:80)2:LB 接收到數(shù)據(jù)包后,不轉(zhuǎn)換地址及端口,也不重新封裝,只是將數(shù)據(jù)幀中的目的地址的 MAC 地址改寫(xiě)算法調(diào)度的真實(shí)機(jī)的 MAC 地址,將數(shù)據(jù)包轉(zhuǎn)發(fā)出去
3:真實(shí)機(jī)收到數(shù)據(jù)后,但是發(fā)現(xiàn)數(shù)據(jù)包中目的地址不是自己(所以事先也得在 LO 上綁定一個(gè) VIP 地址,同時(shí)配置抑制ARP),這樣真實(shí)機(jī)做出響應(yīng)直接回復(fù)客戶端
4:客戶端收到回復(fù)的數(shù)據(jù)包(源 VIP 1.1.1.1:80 目的 CIP 10.10.1.1:80),完成整個(gè)訪問(wèn)過(guò)程
注:LB 只能改寫(xiě)目的 MAC 地址,因此它不能改變請(qǐng)求報(bào)文的目的端口端口,LVS 只支持 unix 和 linux,但集群節(jié)點(diǎn)服務(wù)器可以是 win 系統(tǒng),此種模式配置相當(dāng)麻煩
解決了上述三種的缺點(diǎn)
解決了真實(shí)服務(wù)器能跨越 VLAN 通訊,只需要連接到內(nèi)網(wǎng)即可
入站時(shí):
目標(biāo) IP 更改為真實(shí)服務(wù)器的 IP,源 IP 更改為內(nèi)網(wǎng)的本地IP(一組內(nèi)網(wǎng)IP)
出站時(shí):
目標(biāo)IP更改為客戶端的 IP,源 IP 更換為 VIP
LVS 的調(diào)度算法決定了如何在集群節(jié)點(diǎn)之間分配負(fù)載壓力(訪問(wèn)請(qǐng)求)
rr 輪循調(diào)度:將請(qǐng)求依次分配給集群的節(jié)點(diǎn),這種算法適用于各個(gè)節(jié)點(diǎn)處理能力基本相同的情況下
wrr 加權(quán)輪循調(diào)度:根據(jù)節(jié)點(diǎn)的權(quán)重來(lái)分配,權(quán)重較高的優(yōu)先分配
wlc 加權(quán)最小連接數(shù)調(diào)度:按權(quán)重和連接數(shù)的數(shù)量來(lái)分配
lc 最小連接數(shù)調(diào)度:按連接數(shù)的數(shù)量來(lái)分配
一般網(wǎng)絡(luò)服務(wù),如 HTTP、MAIL、MYSQL 常用的調(diào)度算法有:rr、wlc、wrr
作者:霸都民工哥
鏈接:https://mp.weixin.qq.com/s...
來(lái)源:微信公眾號(hào)
更多相關(guān)文章:
Docker Compose+nginx 實(shí)現(xiàn)負(fù)載均衡
深入理解負(fù)載均衡
分布式架構(gòu)實(shí)踐——負(fù)載均衡
如果你還想了解更多,想和技術(shù)同僚分享切磋,可掃下方二維碼,回復(fù) yw,加入掘金運(yùn)維技術(shù)交流群
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/8065.html
摘要:本文已獲得原作者霸都民工哥授權(quán)。簡(jiǎn)單介紹虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng),可以在和系統(tǒng)中運(yùn)行,年開(kāi)發(fā)研究的項(xiàng)目。官方網(wǎng)站發(fā)展史在內(nèi)核時(shí),就已經(jīng)以內(nèi)核補(bǔ)丁的形式出現(xiàn)從。 本文已獲得原作者霸都民工哥授權(quán)。 寫(xiě)在前面 為什么需要使用負(fù)載均衡呢?這是一個(gè)必較重要的問(wèn)題 實(shí)際生產(chǎn)環(huán)境中某單臺(tái)服務(wù)器已不能負(fù)載日常用訪問(wèn)壓力時(shí),就需要使用負(fù)載均衡,把用戶的請(qǐng)求數(shù)據(jù)分擔(dān)到(盡可能平均分配)后端所...
閱讀 1517·2021-11-18 10:02
閱讀 1657·2021-09-04 16:40
閱讀 3171·2021-09-01 10:48
閱讀 874·2019-08-30 15:55
閱讀 1853·2019-08-30 15:55
閱讀 1365·2019-08-30 13:05
閱讀 3013·2019-08-30 12:52
閱讀 1624·2019-08-30 11:24