■
近年來,隨著財政改革不斷推向深入,越來越多的財政業(yè)務(wù)實現(xiàn)了信息化應(yīng)用管理,同時也面臨著用戶訪問數(shù)量不斷增大、系統(tǒng)響應(yīng)能力不足、安全保障困難的問題。主要表現(xiàn)在以下四個方面:
1.穩(wěn)定性:單臺應(yīng)用服務(wù)器導(dǎo)致的單點故障,造成業(yè)務(wù)系統(tǒng)的不穩(wěn)定。
2.安全性:針對應(yīng)用層業(yè)務(wù)系統(tǒng)的攻擊手段層出不窮,對業(yè)務(wù)系統(tǒng)的安全性帶來了極大的風(fēng)險。
3.可用性:由于應(yīng)用服務(wù)器或業(yè)務(wù)系統(tǒng)軟件的不穩(wěn)定,業(yè)務(wù)系統(tǒng)故障后無法第一時間被發(fā)現(xiàn)和解決。
4.高效性:應(yīng)用服務(wù)器部署方式采用主備模式,造成了服務(wù)器資源浪費,無法提高業(yè)務(wù)效率。其中穩(wěn)定性是整個業(yè)務(wù)系統(tǒng)的基礎(chǔ),是業(yè)務(wù)應(yīng)用系統(tǒng)的命脈。
為解決系統(tǒng)面臨的問題,需要在現(xiàn)有軟硬件資源的基礎(chǔ)上進行負載均衡、合理分配現(xiàn)有流量、平衡服務(wù)器壓力,充分利用數(shù)據(jù)中心的資源,提高應(yīng)用的訪問速度,并可以同虛擬化技術(shù)順利融合,同時提供高度的系統(tǒng)安全性和易用性。目前很多企業(yè)、單位都采用了負載均衡技術(shù),傳統(tǒng)的負載均衡技術(shù)只能實現(xiàn)最基本的四層數(shù)據(jù)轉(zhuǎn)發(fā),無法識別業(yè)務(wù)應(yīng)用內(nèi)容,無法從根本上解決系統(tǒng)應(yīng)用的關(guān)鍵問題。因此,應(yīng)用交付網(wǎng)關(guān)技術(shù)進入用戶的視線。
應(yīng)用交付網(wǎng)關(guān)是一個達到網(wǎng)絡(luò)設(shè)備標準的統(tǒng)一平臺,這個平臺將會集成智能流量管理、應(yīng)用加速、應(yīng)用安全防護和應(yīng)用控制等諸多技術(shù)特點,并將最終替代Web應(yīng)用前端龐大的“設(shè)備層”,從而幫助數(shù)據(jù)中心構(gòu)建全新的應(yīng)用交付基礎(chǔ)架構(gòu)。應(yīng)用交付網(wǎng)關(guān)承載應(yīng)用系統(tǒng)的交互流量,能夠深度感知應(yīng)用內(nèi)容,通過與應(yīng)用系統(tǒng)緊密結(jié)合,智能地處理應(yīng)用數(shù)據(jù)。因此,應(yīng)用交付網(wǎng)關(guān)可以提高應(yīng)用性能、可靠性、可管理性和安全性,進而使數(shù)據(jù)中心能夠快速而有效地實現(xiàn)應(yīng)用交付基礎(chǔ)架構(gòu)。
為實現(xiàn)核心系統(tǒng)穩(wěn)定運行,保證應(yīng)用服務(wù)器高可用,降低核心系統(tǒng)故障率,提高核心系統(tǒng)維護效率,應(yīng)用交付網(wǎng)關(guān)應(yīng)該實現(xiàn)以下幾方面的目標:
通過深度識別應(yīng)用層信息,實現(xiàn)基于內(nèi)容信息的智能轉(zhuǎn)發(fā)功能。在應(yīng)用交付概念中,對應(yīng)用行為和內(nèi)容的智能控制是其核心理念的重要組成部分,因此應(yīng)用智能控制也成為應(yīng)用交付網(wǎng)關(guān)至關(guān)重要的功能。應(yīng)用交付網(wǎng)關(guān)的核心工作引擎——策略控制引擎允許可以識別Http應(yīng)用層信息,包括:識別客戶端類型及屬性,了解請求使用的方法(Get或Post),了解響應(yīng)的結(jié)果類型,甚至了解請求或響應(yīng)的內(nèi)容,基于對這些信息的細粒度識別,策略控制引擎可以制定規(guī)則,對應(yīng)用流量進行分類判斷,并基于判斷的結(jié)果進行策略操作。
通過TCP連接復(fù)用、TCP單邊加速、Http壓縮、內(nèi)容緩存等優(yōu)化技術(shù)的引入,不僅提升系統(tǒng)的整體性能,還有效的卸載了真實服務(wù)器上的非內(nèi)容處理任務(wù),解決了服務(wù)器不斷擴容的壓力。
網(wǎng)絡(luò)層的DDoS防護、應(yīng)用層的協(xié)議清洗、針對應(yīng)用數(shù)據(jù)的SSL加密,應(yīng)用交付網(wǎng)關(guān)直接集成Web應(yīng)用安全防護功能,在安全防護能力上,應(yīng)用交付網(wǎng)關(guān)產(chǎn)品有了顯著的提升。
通過定制化的策略腳本,來改變應(yīng)用的請求或響應(yīng),而這些改變是在不需要更改程序代碼的情況下實現(xiàn)的,強化了通過應(yīng)用交付網(wǎng)關(guān)來達到控制應(yīng)用的能力。
Web應(yīng)用天生的性能缺陷使得僅僅利用傳統(tǒng)負載均衡設(shè)備難以解決應(yīng)用性能的問題,因此應(yīng)用交付網(wǎng)關(guān)在改善Web應(yīng)用系統(tǒng)性能方面提供諸多技術(shù)手段,能夠幫助Web應(yīng)用提升5-10倍的效率。
對于 HTTP/HTTPS 應(yīng)用,應(yīng)用交付網(wǎng)關(guān)其實扮演著反向代理的角色,它終結(jié)來自客戶端的連接,并替代客戶端與真實服務(wù)器通過長連接進行應(yīng)用層數(shù)據(jù)交互,正是這種機制讓我們對Web應(yīng)用性能進行優(yōu)化提供可能。
應(yīng)用交付網(wǎng)關(guān)可以識別Http應(yīng)用層信息,包括:識別客戶端類型及屬性,了解請求使用的方法(Get或 Post),了解響應(yīng)的結(jié)果類型,甚至了解請求或響應(yīng)的內(nèi)容,基于對這些信息的細粒度識別,策略控制引擎可以制定規(guī)則,對應(yīng)用流量的進行分類判斷,并基于判斷的結(jié)果進行策略操作。
策略控制引擎就是根據(jù)預(yù)先定義的規(guī)則腳本(SmartRules),實現(xiàn)對特定應(yīng)用數(shù)據(jù)進行特殊操作。SmartRules策略規(guī)則由兩個重要部分組成的,即識別策略控制對象的“表達式”和針對此對象的“操作行為”。
SmartRules中的“表達式”,規(guī)劃了4類應(yīng)用控制的“操作行為”,分別是:
(1)基于Http請求的內(nèi)容交換行為
(2)基于Http請求的內(nèi)容過濾行為
(3)基于Http請求的內(nèi)容改寫行為
(4)基于Http響應(yīng)的內(nèi)容改寫行為
通過操作行為的定義,策略控制引擎就知道對相應(yīng)的應(yīng)用數(shù)據(jù)如何進行操作,以達到SmartRules定制的策略。
Web應(yīng)用的安全性是目前業(yè)界的熱點話題,應(yīng)用交付網(wǎng)關(guān)提供的安全防護機制能夠幫助Web應(yīng)用系統(tǒng)提升安全防護能力,它具有如下特點:
(1)隔離保護
由于應(yīng)用交付網(wǎng)關(guān)缺省工作在反向代理模式,因此黑客無法直接與服務(wù)器聯(lián)系,通常情況下,應(yīng)用交付網(wǎng)關(guān)上的虛擬服務(wù)器只對外提供應(yīng)用服務(wù)端口,從而有效地屏蔽了黑客攻擊的第一步——端口掃描,增加了黑客攻擊的難度。此時,服務(wù)器完全被應(yīng)用交付網(wǎng)關(guān)與外界隔離,甚至對于提供服務(wù)的Web應(yīng)用,也會盡量屏蔽響應(yīng)信息中關(guān)于真實服務(wù)器的信息,讓黑客無法準確定位后臺Web系統(tǒng)的構(gòu)架和類型。
(2)DDoS防護
DDoS攻擊主要是黑客利用系統(tǒng)對外提供的正常服務(wù),通過其控制的大量主機持續(xù)發(fā)送的數(shù)據(jù)請求,以達到阻止業(yè)務(wù)正常服務(wù)的目的。應(yīng)用交付網(wǎng)關(guān)為了抵御DDoS攻擊,在內(nèi)核中優(yōu)化了TCP協(xié)議棧,利用獨特的連接管理技術(shù)和其它限制手段精心打造一個全面的DDoS防護體系。
(3)Http協(xié)議清洗
針對協(xié)議層攻擊,應(yīng)用交付網(wǎng)關(guān)內(nèi)置協(xié)議清洗功能引擎,該引擎實時檢測Http請求內(nèi)容是否符合RFC定義,防止Http協(xié)議范圍外的行為,可以對HTTP協(xié)議整理、發(fā)送無缺陷的數(shù)據(jù)包、阻止非法請求等。對于黑客惡意制造的非法請求,直接進行有效阻斷,避免無效的請求耗費服務(wù)器資源。
(4)基于策略的安全過濾規(guī)則
應(yīng)用交付網(wǎng)關(guān)提供基于策略腳本的應(yīng)用行為和內(nèi)容控制機制,其中基于請求的內(nèi)容過濾功能,主要用于用戶自定義非法請求特征,并予以告警和阻斷。
這種能力來源于兩個堅實的技術(shù)基礎(chǔ),首先,應(yīng)用交付網(wǎng)關(guān)具有詳細的HTTP數(shù)據(jù)流檢測能力,能夠深度感知應(yīng)用層信息。其次,策略控制引擎為外部提供一套完整的策略控制機制,它基于系統(tǒng)內(nèi)部API,允許用戶通過簡單易用的SmartBiulder圖形工具定制請求過濾策略規(guī)則。
應(yīng)用交付網(wǎng)關(guān)采用基于Http對象的內(nèi)容緩存功能,利用策略規(guī)則將允許緩存的Http對象存放在系統(tǒng)內(nèi)存空間或硬盤空間。當用戶的HTTP訪問請求發(fā)送到慧敏時,如果Cache中的內(nèi)容能夠匹配用戶的訪問請求則直接由交付網(wǎng)關(guān)來響應(yīng)用戶的訪問,從而避免了對后臺服務(wù)器的負載壓力,在減小了后臺服務(wù)器負載的同時,提高了對用戶的響應(yīng)速度和整體網(wǎng)站的處理能力。同時又通過監(jiān)視緩存內(nèi)容的命中率變化情況,及時將命中率較高的對象遷移至內(nèi)存中,保障絕大多數(shù)命中的內(nèi)容對象始終存放在內(nèi)存中,避免頻繁的磁盤I/O讀寫操作,實現(xiàn)真正智能的內(nèi)容緩存。
負載均衡算法就是負載調(diào)度的標準和決策依據(jù),它可以使應(yīng)用交付網(wǎng)關(guān)有效地管理應(yīng)用流量,指引客戶端請求選擇一臺最合適的真實服務(wù)器來進行處理,決策方法將確保實現(xiàn)最佳的流量分配。
應(yīng)用交付網(wǎng)關(guān)系統(tǒng)可以設(shè)置以下這些算法來實現(xiàn)服務(wù)器負載均衡:
(1)輪詢算法
輪詢算法按照請求的先后順序?qū)⑵湟来窝h(huán)地調(diào)度到不同的真實服務(wù)器,即每次調(diào)度執(zhí)行i = (i + 1) mod n,并選出第i臺服務(wù)器。算法非常簡潔,無需記錄當前連接的狀態(tài),所以它是一種無狀態(tài)調(diào)度。
(2)加權(quán)輪詢算法
加權(quán)輪詢算法是在輪詢算法的基礎(chǔ)上,根據(jù)真實服務(wù)器的不同處理能力,依照預(yù)設(shè)的權(quán)重按比例來調(diào)度訪問請求。這樣可以保證處理能力強的服務(wù)器能處理更多的請求任務(wù)。
(3)最少連接算法
最少連接算法是一種動態(tài)調(diào)度算法,它依據(jù)服務(wù)器當前活躍的TCP連接數(shù)信息來估計服務(wù)器的負載情況。應(yīng)用交付網(wǎng)關(guān)會記錄每個真實服務(wù)器活躍連接的數(shù)目,當一個請求來臨時,會被調(diào)度到活躍的TCP連接數(shù)最少的那臺服務(wù)器。
應(yīng)用交付網(wǎng)關(guān)是應(yīng)用數(shù)據(jù)交互的載體,它需要解決系統(tǒng)可用性問題,而后臺真實的應(yīng)用服務(wù)器是真正處理應(yīng)用業(yè)務(wù)請求并響應(yīng)客戶請求的宿主機,因此實時監(jiān)控應(yīng)用服務(wù)器的健康狀態(tài),避免將請求轉(zhuǎn)發(fā)到不可用的服務(wù)器是保障整個系統(tǒng)可用性的關(guān)鍵。
應(yīng)用交付網(wǎng)關(guān)的高級健康檢查功能,可以準確的做到應(yīng)用層的健康檢查。而服務(wù)器健康檢查的結(jié)果是負載均衡決策的依據(jù),健康狀態(tài)為不可用的服務(wù)器將不再參與負載分發(fā)決策。應(yīng)用交付網(wǎng)關(guān)支持的服務(wù)器健康檢測方法,包括:基礎(chǔ)網(wǎng)絡(luò)檢查方法(Ping)、四層應(yīng)用檢查方法(TCP)、基于應(yīng)用層內(nèi)容的應(yīng)用檢查方法(HTTP/HTTPs/SMTP)以及利用自定義腳本的應(yīng)用檢查程序(檢查范圍可以從2層到 7 層)。
自定義腳本的健康檢查方法允許用戶利用Perl script,完全依據(jù)應(yīng)用系統(tǒng)的特性定義發(fā)送和接收數(shù)據(jù)包的行為與內(nèi)容。根據(jù)腳本程序執(zhí)行的結(jié)果來確認應(yīng)用的健康狀態(tài)。
應(yīng)用交付網(wǎng)關(guān)不僅可以為關(guān)鍵業(yè)務(wù)系統(tǒng)提供高可用性和智能負載均衡,與此同時,還可以滿足用戶固定訪問特定服務(wù)器的要求,以支持用戶會話持續(xù)建立到某臺固定服務(wù)器上。會話保持意味著一旦一個真實服務(wù)器被選擇處理某客戶端請求,那么后續(xù)的從該用戶發(fā)出的請求都被轉(zhuǎn)發(fā)到同一服務(wù)器上。“會話保持”功能常用于需要檢查會話狀態(tài)的一致性的特定應(yīng)用。
主要支持的“會話保持”的方法包括:
(1)基于源IP進行會話保持
基于源IP會話保持,應(yīng)用交付網(wǎng)關(guān)會對此客戶端IP與虛擬服務(wù)器之間的連接創(chuàng)建一個計數(shù)器,只要持續(xù)性計數(shù)器尚未到時,它們之間新建的連接就會持續(xù)轉(zhuǎn)發(fā)到同一臺服務(wù)器。
(2)基于Cookie進行會話保持
基于Cookie的會話保持主要應(yīng)用于Http/Https應(yīng)用,在這種模式下,利用Http數(shù)據(jù)包存儲的coockie信息進行持續(xù)性的判斷,并把持續(xù)性請求轉(zhuǎn)發(fā)到同一臺服務(wù)器上。
會話保持技術(shù)中,還有一個重要的控制參數(shù):會話保持時間。這個時間就是相同用戶前后兩次持續(xù)性請求之間的間隔時間,如果相同用戶前后兩次持續(xù)性請求的時間間隔超過會話保持時間,會話保持機制將忽略其會話的關(guān)聯(lián)性,這個會話請求會依據(jù)負載均衡算法進行決策調(diào)度。
根據(jù)應(yīng)用系統(tǒng)的具體架構(gòu),我們采用的這種將應(yīng)用交付網(wǎng)關(guān)旁路部署的方式體現(xiàn)了穩(wěn)定、可靠、靈活、安全的部署原則,主要體現(xiàn)在以下幾個方面:
(1)穩(wěn)定性
在不影響原有網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上,將應(yīng)用交付網(wǎng)關(guān)以單臂方式旁接在核心交換機上,既不影響原有網(wǎng)絡(luò)架構(gòu),又可以為不同業(yè)務(wù)系統(tǒng)提供安全、可控、高效、穩(wěn)定的業(yè)務(wù)支撐,實現(xiàn)了與業(yè)務(wù)系統(tǒng)無縫結(jié)合。
(2)可靠性
應(yīng)用交付網(wǎng)關(guān)采用雙機部署,所有物理連接均采用雙線連接,不但實現(xiàn)了硬件設(shè)備和鏈路的雙冗余,同時實現(xiàn)了業(yè)務(wù)的雙冗余,徹底解決了業(yè)務(wù)系統(tǒng)單點故障問題,切實保障了核心業(yè)務(wù)的高可用,實現(xiàn)了業(yè)務(wù)系統(tǒng)穩(wěn)定運行。
(3)靈活性
由于不影響原有網(wǎng)絡(luò)架構(gòu),部分非關(guān)鍵業(yè)務(wù)不需要經(jīng)過應(yīng)用交付網(wǎng)關(guān)處理,所以我單位財政務(wù)系統(tǒng)可以非常靈活的控制,哪些數(shù)據(jù)需要應(yīng)用交付網(wǎng)關(guān)處理,哪些不需要,有針對性的進行靈活管控。
(4)安全性
對于核心系統(tǒng)來講,系統(tǒng)安全至關(guān)重要,利用反向代理的實現(xiàn)原則,在應(yīng)用交付網(wǎng)關(guān)上只放開相關(guān)的業(yè)務(wù)地址和端口,只有滿足條件的業(yè)務(wù)請求才允許通過。利用這層天然的安全屏障,有效的提高了河北省財政核心系統(tǒng)的安全性,協(xié)助河北省財政信息中心將安全事故率降到了最低。
通過部署應(yīng)用交付網(wǎng)關(guān),我們的應(yīng)用系統(tǒng)達到了更高標準的可靠性和突發(fā)流量狀況下的高可用性,確保了數(shù)據(jù)中心的安全穩(wěn)定運行,為企業(yè)財政的信息化推進提供了堅實的技術(shù)保障。