mac mysql 的lb_四层LB和七层LB
總結(jié): 基于MAC地址玩的是二層(虛擬MAC地址接收請求,然后再分配到真實(shí)的MAC地址),
基于IP地址玩的是三層(虛擬IP地址接收請求,然后再分配到真實(shí)的IP地址),
基于IP地址加端口玩的是四層(虛擬IP+端口接收請求,然后再分配到真實(shí)的服務(wù)器)
基于URL玩的是七層.(虛擬的URL或主機(jī)名接收請求,然后再分配到真實(shí)的服務(wù)器)
簡單理解四層和七層負(fù)載均衡:
1.所謂四層就是基于IP+端口的負(fù)載均衡;七層就是基于URL等應(yīng)用層信息的負(fù)載均衡;同理,還有基于MAC地址的二層負(fù)載均衡和基于IP地址的三層負(fù)載均衡。 換句換說,二層負(fù)載均衡會通過一個(gè)虛擬MAC地址接收請求,然后再分配到真實(shí)的MAC地址;三層負(fù)載均衡會通過一個(gè)虛擬IP地址接收請求,然后再分配到真實(shí)的IP地址;四層通過虛擬IP+端口接收請求,然后再分配到真實(shí)的服務(wù)器;七層通過虛擬的URL或主機(jī)名接收請求,然后再分配到真實(shí)的服務(wù)器。
2.所謂的四到七層負(fù)載均衡,就是在對后臺的服務(wù)器進(jìn)行負(fù)載均衡時(shí),依據(jù)四層的信息或七層的信息來決定怎么樣轉(zhuǎn)發(fā)流量。 比如四層的負(fù)載均衡,就是通過發(fā)布三層的IP地址(VIP),然后加四層的端口號,來決定哪些流量需要做負(fù)載均衡,對需要處理的流量進(jìn)行NAT處理,轉(zhuǎn)發(fā)至后臺服務(wù)器,并記錄下這個(gè)TCP或者UDP的流量是由哪臺服務(wù)器處理的,后續(xù)這個(gè)連接的所有流量都同樣轉(zhuǎn)發(fā)到同一臺服務(wù)器處理。七層的負(fù)載均衡,就是在四層的基礎(chǔ)上(沒有四層是絕對不可能有七層的),再考慮應(yīng)用層的特征,比如同一個(gè)Web服務(wù)器的負(fù)載均衡,除了根據(jù)VIP加80端口辨別是否需要處理的流量,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進(jìn)行負(fù)載均衡。舉個(gè)例子,如果你的Web服務(wù)器分成兩組,一組是中文語言的,一組是英文語言的,那么七層負(fù)載均衡就可以當(dāng)用戶來訪問你的域名時(shí),自動辨別用戶語言,然后選擇對應(yīng)的語言服務(wù)器組進(jìn)行負(fù)載均衡處理。
3.負(fù)載均衡分為L4 switch(四層交換),即在OSI第4層工作,就是TCP層啦。此種Load Balance不理解應(yīng)用協(xié)議(如HTTP/FTP/MySQL等等)。例子:LVS,F5。另一種叫做L7 switch(七層交換),OSI的最高層,應(yīng)用層。此時(shí),該Load Balancer能理解應(yīng)用協(xié)議。例子:? haproxy,MySQL Proxy。
第七層負(fù)載均衡優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面:
通過對HTTP報(bào)頭的檢查,可以檢測出HTTP400、500和600系列的錯誤信息,因而能透明地將連接請求重新定向到另一臺服務(wù)器,避免應(yīng)用層故障。
可根據(jù)流經(jīng)的數(shù)據(jù)類型(如判斷數(shù)據(jù)包是圖像文件、壓縮文件或多媒體文件格式等),把數(shù)據(jù)流量引向相應(yīng)內(nèi)容的服務(wù)器來處理,增加系統(tǒng)性能。
能根據(jù)連接請求的類型,如是普通文本、圖象等靜態(tài)文檔請求,還是asp、cgi等的動態(tài)文檔請求,把相應(yīng)的請求引向相應(yīng)的服務(wù)器來處理,提高系統(tǒng)的性能及安全性。
第七層負(fù)載均衡受到其所支持的協(xié)議限制(一般只有HTTP),這樣就限制了它應(yīng)用的廣泛性,并且檢查HTTP報(bào)頭會占用大量的系統(tǒng)資源,勢必會影響到系統(tǒng)的性能,在大量連接請求的情況下,負(fù)載均衡設(shè)備自身容易成為網(wǎng)絡(luò)整體性能的瓶頸。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的mac mysql 的lb_四层LB和七层LB的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么说卉字不能取名
- 下一篇: python判断火车票座位_Python