LVS集羣前端
(一)硬件:成本會很高mysql
(二)軟件:成本較低,實現快。linux
四層(路由設備分發到不一樣設備):nginx
LVSweb
七層:算法
nginx(有限的七層協議)sql
實現:http,smtp,pop3,imap後端
haproxy服務器
實現:http,tcp(mysql,smtp)網絡
四層負載均衡和七層負載均衡的不一樣:
一、四層只輔助解析三層和四層協議,具體的內容它不會作處理。因不解析更高層協議性能會更好,可是高級特性沒有(根據用戶的特性來作負載均衡如:web服務器中請求的url)
二、七層反向代理負載均衡設備,爲某些特定的協議來提供的,所以它能夠去精確的解剖它對應的協議,並且能在這個協議的基礎上修改以後,向後作負載均衡的,全部在前端就能夠實現處理。操做能力更強,可是性能略遜於四層。
三、提供解決方案時,根據本身項目的要求和需求來制訂方案。
一、概念:LVS是一臺負載均衡設備。本身不提供服務,經過接受用戶請求,而後轉發給後端服務器。
二、LVS工做原理:
解析:
2.一、LVS的轉發
LVS集羣設備的轉發是經過用戶訪問本身的IP+端口來確認的,後方的服務器是須要監聽來訪問的端口的。
好比:web服務是80和433,那麼後方的服務器(A,B,C)都會監聽這個兩個端口的。
(一)調度算法: 挑選一個後端服務器接收一個用戶的新請求的計算機制。
計算機制:根據用戶請求時的IP+端口,來斷定是否轉發及轉發到什麼地方。
2.一、LVS中3種類型(IP網絡的轉換):
總體過程:
基本法則:
一、(RIP)集羣節點跟必需要跟DIP在同一IP網路中;
二、RIP一般是私有地址,僅用於各集羣節點間的通訊;
三、DIP位於CIP和RIP之間,並負責處理進出的全部通訊;
四、RIP必須把網關指向DIP;
五、支持端口映射,而且VIP提供服務端口能夠和RIP端口不一樣;
六、RIP能夠是任意OS;
七、較大規模應用程序中,DIP易成爲系統瓶頸。
基本法則:
一、集羣節點跟DIP必須在同一個物理網絡中(一個或幾個交換機);
二、RIP地址能夠是私有地址或是公網地址;
公網IP好處:若是VIP/DIP掛掉,CIP能夠直接訪問VIP/RIP。
三、DIP僅負責處理入站請求,響應報文則由RIP直接發往客戶端;
四、集羣節點RIP不能將網關指向DIP;
五、不支持端口映射;
六、RIP能夠是大多數系統(必須對VIP進行隱藏);
七、LVS-DR比LVS-NAT支持更多的RIP;
基本法則:
一、集羣節點能夠跨越互聯網;
二、RIP必須是公網地址;
三、DIP僅負責處理入站請求,響應報文則RIP直接發往客戶端;
四、RIP網管不能指向DIP;
五、只有支持隧道功能的OS才能用於RIP;
六、不支持端口映射;
一、iptables不能和LVS同用。
因iptables分段實現:
iptables寫規則/netfilter檢查規則來實現,LVS違反了iptales規則。
二、LVS分段:
ipvsadm:管理集羣服務的命令行工具
ipvs:內核(實現監控),在linux2.6後內核中已經有ipvs這個機制。