https://blog.csdn.net/panxueji/article/details/42647193
一、 負載均衡技術
負載均衡技術在現有網絡結構之上提供了一種廉價、有效、透明的方法,來擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。
1、負載均衡發生的流程圖:
1. 客戶發出服務請求到VIP
2. BIGIP接收到請求,將數據包中目的IP地址改為選中的后台服務器IP地址,然后將數據包發出到后台選定的服務器
3. 后台服務器收到后,將應答包按照其路由發回到BIGIP
4. BIGIP收到應答包后將其中的源地址改回成VIP的地址,發回客戶端,由此就完成了一個標准的服務器負載平衡的流程。
2、負載平衡典型流程
通過VIP來截獲合適的需要負載平衡的流量
·服務器監控和健康檢查,隨時了解服務器群的可用性狀態
·負載均衡和應用交換功能,通過各種策略導向到合適的服務器
2.1 通過VIP來截獲合適的需要負載平衡的流量
在BIGIP上通過設置VIP來截獲需要進行負載平衡的流量,這個VIP地址可以是一個獨立的主機地址和端口的組合(例如:202.101.112.115:80)也可以是一個網絡地址和端口的組合(例如:202.101.112.0:80),當流量經過BIGIP的時候,凡是命中VIP的流量都將被截獲並按照規則進行負載平衡。
2.2 服務器的健康監控和檢查
服務器 (Node) -Ping (ICMP)
BIGIP可以定期的通過ICMP包對后台服務器的IP地址進行檢測,如果在設定的時間內能收到該地址的ICMP的回應,則認為該服務器能提供服務
服務 (Port) – Connect
BIGIP可以定期的通過TCP包對后台服務器的服務端口進行檢測,如果在設定的時間內能收到該服務器端口的回應,則認為該服務器能提供服務
擴展內容查證(ECV:Extended Content Verification)—ECV
ECV是一種非常復雜的服務檢查,主要用於確認應用程序能否對請求返回對應的數據。如果一個應用對該服務檢查作出響應並返回對應的數據,則BIG/IP控制器將該服務器標識為工作良好。如果服務器不能返回相應的數據,則將該服務器標識為宕機。宕機一旦修復,BIG/IP就會自動查證應用已能對客戶請求作出正確響應並恢復向該服務器傳送。該功能使BIG/IP可以將保護延伸到后端應用如Web內容及數據庫。BIG/ip的ECV功能允許您向Web服務器、防火牆、緩存服務器、代理服務器和其它透明設備發送查詢,然后檢查返回的響應。這將有助於確認您為客戶提供的內容正是其所需要的。
擴展應用查證(EAV:Extended Application Verification)
EAV是另一種服務檢查,用於確認運行在某個服務器上的應用能否對客戶請求作出響應。為完成這種檢查,BIG/IP控制器使用一個被稱作外部服務檢查者的客戶程序,該程序為BIG/IP提供完全客戶化的服務檢查功能,但它位於BIG/IP控制器的外部。例如,該外部服務檢查者可以查證一個Internet或Intranet上的從后台數據庫中取出數據並在HTML網頁上顯示的應用能否正常工作。EAV是BIG/IP提供的非常獨特的功能,它提供管理者將BIG/IP客戶化后訪問各種各樣應用的能力,該功能使BIG/IP在提供標准的可用性查證之外能獲得服務器、應用及內容可用性等最重要的反饋。該功能對於電子商務和其它應用至關重要,它用於從客戶的角度測試您的站點。例如,您可以模擬客戶完成交易所需的所有步驟-連接到站點、從目錄中選擇項目以及驗證交易使用的信用卡。一旦BIG/ip掌握了該“可用性”信息,即可利用負載平衡使資源達到最高的可用性。
BIG/IP已經為測試Internet服務的健康情況和狀態,預定義的擴展應用驗證(EAV),它有二種用戶界面:瀏覽器和CLI配置。BIG/IP預定義的應用檢查:FTP、NNTP、SMTP、POP3和MSSQL。
二、 負載均衡的分類:
負載均衡的應用相對其他網絡技術來說面會窄很多,從技術的角度上,負載均衡分為三類:
1.對鏈路的負載均衡
對鏈路的負載均衡主要是指應用方有多條ISP網絡出口,比方說電信+網通,電信+鐵通等,對鏈路的負載均衡也是解決目前電信網通互聯互通的最專業的技術.其實現的原理是根據負載均衡算法來算出,到目標地址的數據從哪條鏈路出去延遲最小,那么該條鏈路將被優先選擇.這一點是負載均衡設備區別於策略路由+IP地址庫實現網通電信路由選擇的地方.
2. 對服務器的負載均衡
從嚴格的意義上來將,對服務器的負載均衡是對相同應用的負載均衡,而跟服務器本身沒有太大的關系。只有相同的應用,才存在負載均衡的概念,不同的應用間是不能做負載均衡的.比方說,我們有FTP SERVER和WEB SERVER各一台,那么這兩台SERVER間就不存在負載均衡的應用.目前所有負載均衡的廠商實現對服務器的負載均衡都是基於虛擬IP技術的,負載均衡設備對服務器進行健康檢查,然后把檢查結果列入設備服務器狀態列表里,根據這個檢查結果來決定一個請求發送到哪台服務器效果最好,應用廣泛的就是F5的LTM系列.
F5-BIG-LTM-3600-4G-R
3. 對廣域網的負載均衡
對廣域網的負載均衡主要是應用到一些大的網站上,也有人稱其為異地負載均衡.比方說,我們有兩台WEB服務器,一台在北京IDC機房(網通),一台在廣州IDC機房(電信),兩台WEB服務器內容是一樣的.那么對這兩台服務器來做負載均衡就是一種廣域網負載均衡.應用比較廣泛的是F5的3DNS設備.
三.負載均衡的算法
負載均衡設備本身都是以負載均衡算法為基礎的,負載均衡算法分為兩種:靜態負載均衡算法和動態負載均衡算法.
輪詢(RoundRobin):順序循環將請求一次順序循環地連接每個服務器。 當其中某個服務器發生第二到第7層的故障,BIGIP就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。 ·比率(Ratio):給每個服務器分配一個加權值為比例,根椐這個比例,把用戶的請求分配到每個服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
優先權(Priority):給所有服務器分組,給每個組定義優先權,BIGIP用戶的請求,分配給優先級最高的服務器組(在同一組內,采用輪詢或比率算法,分配用戶的請求);當最高優先級中所有服務器出現故障,BIGIP才將請求送給次優先級的服務器組。這種方式,實際為用戶提供一種熱備份的方式。
最少的連接方式(Least Connection):傳遞新的連接給那些進行最少連接處理的服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
最快模式(Fastest):傳遞連接給那些響應最快的服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
觀察模式(Observed):連接數目和響應時間以這兩項的最佳平衡為依據為新的請求選擇服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
預測模式(Predictive):BIGIP利用收集到的服務器當前的性能指標,進行預測分析,選擇一台服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(被BIGIP進行檢測)
動態性能分配(DynamicRatio-APM):BIGIP收集到的應用程序和應用服務器的各項性能參數,動態調整流量分配。
動態服務器補充(DynamicServer Act.):當主服務器群中因故障導致數量減少時,動態地將備份服務器補充至主服務器群。
服務質量(QoS):按不同的優先級對數據流進行分配。
服務類型(ToS):按不同的服務類型(在Type of Field中標識)對數據流進行分配。
規則模式:針對不同的數據流設置導向規則,用戶可自行編輯流量分配規則,BIGIP利用這些規則對通過的數據流實施導向控制。