具備必定服務器規模的互聯網公司爲了應對集羣服務器管理問題,基本上使用F5負載均衡設備做爲流量管理的入口,好比搜狐,新浪,金山等,目前在咱們測試環境用的是F5 BIG-IP LTM,生產環境用的是F5 viprion。node
F5 BIG-IP LTM ,中文說法是本地流量管理器,能夠作4-7層負載均衡,4層負載均衡功能由F5專門的硬件模塊負責,7層負載均衡功能由軟件實現。F5負載均衡器具備負載均衡應用交換會話交換狀態監控智能網絡地址轉換通用持續性響應錯誤處理IPv6網關高級路由智能端口鏡像SSL加速智能HTTP壓縮TCP優化第7層速率×××內容緩衝內容轉換鏈接加速高速緩存Cookie加密選擇性內容加密應用***過濾拒絕服務(DoS)***和SYN Flood保護防火牆—包過濾包消毒等功能nginx
咱們最近在作F5負載均衡設備7層路由切換到4層路由,將F5上的url irules規則下放到F5後端的nginx集羣,從而充分減輕F5負載均衡的壓力,充分發揮F5負載均衡的優點。7層irules規則因爲是由F5硬件設備上的軟件模擬實現的功能,因此在效率方面沒有硬件實現的四層負載均衡的效率高。隨着流量增長,七層規則會增長f5設備cpu的負載,尤爲是在irules中對正則規則的使用會加重F5性能的消耗。後端
從平常管理中,咱們能夠總結出F5在處理請求時的結構圖:緩存
當一個用戶訪問www.dianping.com 的時候,首先經過DNS服務器根據咱們本身配置的name server服務器解析記錄將 www.dianping.com 解析爲對應的公網ip地址,好比電信線路的180.153.132.49。用戶向180.153.132.49發起訪問請求,請求通過網絡路由,到達F5設備。服務器
F5負載均衡的 virtual servers(配置的外網IP和端口)來匹配用戶請求中的外網IP和端口號,匹配後再由對應virtual server(好比名稱爲www.dianping.com,配置了180.153.132.49和80端口的 virtual server )根據自身的資源(irules規則)來匹配用戶請求的主機和url部分,根據匹配部分相應的規則而後跳轉到對應的pool資源,好比App1 Pool,F5根據pool配置的負載均衡策略將用戶的請求分發給某臺應用服務器,好比node:ip1。這個是7層負載均衡時規則處理方式,當後端服務器被配置爲4層路由分發的時候,F5匹配用戶的外網ip和端口後就會根據配置的pool將用戶的請求分發到後端的nginx 負載均衡集羣中,7層路由分發irules完成的工做就由nginx集羣根據nginx跳轉規則來完成,負載均衡策略也有nginx來肯定。網絡
F5請求處理的總體結果圖:virtual server(至關於nginx的server name)-----pool(應用池,集羣,至關於nginx的upstream)------node(主機或反向代理服務器,至關於nginx 中upstream的server)負載均衡
snat修改對外請求的來源地址。ide
F5外聯外網交換機,內連內網交換機,同事具備外網ip和內網ip,內網不一樣網段會有一個內網ip做爲內部應用服務器與外部通訊的網關。性能
F5的四層負載均衡與七層負載均衡測試
F5的四層負載均衡由硬件芯片處理,不消耗CPU資源,可以處理更大的訪問量。在四層負載均衡模式下,真實服務器的默認網關必須指向F5的自身內網IP。四層負載均衡模式,snat設置必須爲none.
F5登錄後左邊的導航頁面,咱們使用的F5 BIG-IP LTM和 F5 viprion 設備的界面導航內容是同樣的,區別是後者的一些配置語法和界面比較好看了些。
Overview:統計信息的一些預覽。
Local traffic:有關內網應用設備的一些配置信息。
Network:有關網絡設備的一些配置信息。
system:F5自身的一些系統設置。
當前F5信息統計圖:12個VS,14個pool,33個node。
F5中vs的列表,以及vs中具體配置:
F5的monitor功能,容許F5對後端服務器進行檢測,做爲F5對pool中後端機器健康檢測的方法。
monitor的列表,可用的健康監測方式:
建立snat的界面:name是snat的名稱,translation是外網出口ip,origin是選擇內網哪些ip通過此snat配置。
本地流量管理選項中,Profiles選項容許咱們配置一些http特性相關的設置。
irules操做界面:irules支持tcl語法,編寫比較簡單。
F5流量視圖:
F5中有關pool的截圖:
pool中對應某個node節點的配置信息:
F5建立內網和外網Vlan:
一、建立VLAN:beta
在「Network→VLANs」頁面點擊「create」按鈕:
①、Name欄填寫:beta(填一個英文名稱)
②、Tag欄填寫:10(填一個數字,做爲標記)
③、Interfaces欄:將Available列的「1.1」拉到Untagged列。1.1表示F5 BIG-IP的第一塊網卡。
F5自身內網和外網IP:
建立方法:
在「Network→Self IPs」頁面點擊「create」按鈕:
①、IP Address欄填寫:10.1.77.2
②、Netmask欄填寫:255.255.255.0
③、VLAN欄選擇:Beta (填外網Vlan名稱)
④、Port Lockdown欄選擇:Allow Default(默認值)
F5管理配置:
F5的性能展現圖,測試環境F5的配置比較低,使用的是1G內存的設備。