簡單理解四層和七層負載均衡:瀏覽器
① 所謂四層就是基於IP+端口的負載均衡;七層就是基於URL等應用層信息的負載均衡;同理,還有基於MAC地址的二層負載均衡和基於IP地址的三層負載均衡。 換句換說,二層負載均衡會經過一個虛擬MAC地址接收請求,而後再分配到真實的MAC地址;三層負載均衡會經過一個虛擬IP地址接收請求,而後再分配到真實的IP地址;四層經過虛擬IP+端口接收請求,而後再分配到真實的服務器;七層經過虛擬的URL或主機名接收請求,而後再分配到真實的服務器。服務器
② 所謂的四到七層負載均衡,就是在對後臺的服務器進行負載均衡時,依據四層的信息或七層的信息來決定怎麼樣轉發流量。 好比四層的負載均衡,就是經過發佈三層的IP地址(VIP),而後加四層的端口號,來決定哪些流量須要作負載均衡,對須要處理的流量進行NAT處理,轉發至後臺服務器,並記錄下這個TCP或者UDP的流量是由哪臺服務器處理的,後續這個鏈接的全部流量都一樣轉發到同一臺服務器處理。七層的負載均衡,就是在四層的基礎上(沒有四層是絕對不可能有七層的),再考慮應用層的特徵,好比同一個Web服務器的負載均衡,除了根據VIP加80端口辨別是否須要處理的流量,還可根據七層的URL、瀏覽器類別、語言來決定是否要進行負載均衡。舉個例子,若是你的Web服務器分紅兩組,一組是中文語言的,一組是英文語言的,那麼七層負載均衡就能夠當用戶來訪問你的域名時,自動辨別用戶語言,而後選擇對應的語言服務器組進行負載均衡處理。負載均衡
③ 負載均衡器一般稱爲四層交換機或七層交換機。四層交換機主要分析IP層及TCP/UDP層,實現四層流量負載均衡。七層交換機除了支持四層負載均衡之外,還有分析應用層的信息,如HTTP協議URI或Cookie信息。spa
一、負載均衡分爲L4 switch(四層交換),即在OSI第4層工做,就是TCP層啦。此種Load Balance不理解應用協議(如HTTP/FTP/MySQL等等)。例子:LVS,F5。域名
二、另外一種叫作L7 switch(七層交換),OSI的最高層,應用層。此時,該Load Balancer能理解應用協議。例子: haproxy,MySQL Proxy。it
注意:上面的不少Load Balancer既能夠作四層交換,也能夠作七層交換。後臺
所謂四層負載均衡,也就是主要經過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。基礎
所謂七層負載均衡,也稱爲「內容交換」,也就是主要經過報文中的真正有意義的應用層內容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。請求