用于在流量指揮站環(huán)境中提供負(fù)載平衡與數(shù)據(jù)壓縮的靈活性的系統(tǒng)及方法
【專利摘要】本文所描述的是供用于負(fù)載平衡器或流量指揮站及其管理的系統(tǒng)及方法,其中流量指揮站是作為基于軟件的負(fù)載平衡器提供的,它可以用于交付快速、可靠、可縮放且安全的平臺,用于負(fù)載平衡到后端起源服務(wù)器的互聯(lián)網(wǎng)及其它流量,其中的起源服務(wù)器諸如web服務(wù)器、應(yīng)用服務(wù)器或其它資源服務(wù)器。根據(jù)一種實施例,所述系統(tǒng)包括具有一個或多個流量指揮站實例的流量指揮站,其中流量指揮站配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器。描述了用于在這種流量指揮站或其它環(huán)境中提供主動-被動路由、浪涌保護(hù)和速率加速、起源服務(wù)器的動態(tài)發(fā)現(xiàn)、配置http負(fù)載平衡時的靈活性和/或動態(tài)高速緩存數(shù)據(jù)解壓縮的系統(tǒng)及方法。
【專利說明】用于在流量指揮站環(huán)境中提供負(fù)載平衡與數(shù)據(jù)壓縮的靈活性的系統(tǒng)及方法
[0001]
[0002]版權(quán)聲明
[0003]本專利文檔公開內(nèi)容的一部分包含受版權(quán)保護(hù)的素材。版權(quán)所有人不反對任何人對專利文檔或?qū)@_內(nèi)容按照在專利商標(biāo)局的專利文件或記錄中出現(xiàn)那樣進(jìn)行的傳真復(fù)制,但是除此之外在任何情況下都保留所有版權(quán)。
[0004]優(yōu)先權(quán)保護(hù)
[0005]本申請要求以下專利申請的優(yōu)先權(quán)利益:于2011年9月27日提交且標(biāo)題為“SYSTEMS AND METHODS FOR USE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(COREFEATURES)”的美國臨時專利申請N0.61/539,886;于2011年9月27日提交且標(biāo)題為“SYSTEMS AND METHODS FOR USE WITH AN APPLICATION SERVER TRAFFIC DIRECTOR(ADMINFEATURES)”的美國臨時專利申請N0.61/539,900 ;于2012年8月31日提交且標(biāo)題為“SYSTEM AND METHOD FOR PROVIDING ACTIVE-PASSIVE ROUTING IN A TRAFFIC DIRECTORENVIRONMENT”的美國專利申請N0.13/601, 087 ;于2012年8月31日提交且標(biāo)題為“SYSTEMAND METHOD FOR SURGE PROTECTION AND RATE ACCELERATION IN A TRAFFIC DIRECTORENVIRONMENT”的專利申請N0.13/601,428 ;于2012年8月31日提交且標(biāo)題為“SYSTEMAND METHOD FOR DYNAMIC DISCOVERY OF ORIGIN SERVERS IN A TRAFFIC DIRECTORENVIRONMENT”的美國專利申請N0.13/601, 530 ;于2012年8月31日提交且標(biāo)題為“SYSTEMAND METHOD FOR PROVIDING FLEXIBILITY IN CONFI⑶RING HTTP LOAD BALANCING IN ATRAFFIC DIRECTOR ENVIRONMENT” 的美國專利申請 N0.13/601,632 ;及于 2012 年 9 月 24日提交且標(biāo)題為 “SYSTEM AND METHOD FOR DYNAMIC CACHE DATA DECOMPRESSION IN ATRAFFIC DIRECTOR ENVIRONMENT”的美國專利申請N0.13/625,716,這些申請中每一個通過引用被結(jié)合于此。
【技術(shù)領(lǐng)域】
[0006]本發(fā)明一般而言涉及用在應(yīng)用服務(wù)器、中間件機器或其它計算環(huán)境中的負(fù)載平衡器或流量指揮站,而且更具體地說,涉及用于在流量指揮站或其它環(huán)境中提供主動-被動路由、浪涌保護(hù)和速率加速、起源服務(wù)器的動態(tài)發(fā)現(xiàn)、配置http負(fù)載平衡的靈活性和/或動態(tài)高速緩存數(shù)據(jù)解壓縮的系統(tǒng)及方法。
【背景技術(shù)】
[0007]典型的企業(yè)級計算環(huán)境會包括許多不同類型的計算資源(例如,web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器或者其它類型的資源服務(wù)器),這些資源要由其它計算機或者操作各種不同類型計算設(shè)備的用戶經(jīng)網(wǎng)絡(luò)(例如,公司的內(nèi)部以太網(wǎng),或者互聯(lián)網(wǎng))訪問。一個熟悉的例子是客戶端計算機的使用,諸如配備web瀏覽器應(yīng)用的筆記本電腦,通過該web瀏覽器應(yīng)用,用戶可以經(jīng)互聯(lián)網(wǎng)訪問web服務(wù)器。[0008]如今的機構(gòu)越來越依賴于他們的計算資源不論什么時候都可以具有高性能水平地、很容易地從幾乎任何地點獲得。確保這種資源有效分配的任務(wù)常常需要使用負(fù)載平衡設(shè)備根據(jù)其分配策略以公平的方式分配客戶端對目標(biāo)資源的請求。這些是本發(fā)明實施例可以與其一起使用的環(huán)境的類型。
【發(fā)明內(nèi)容】
[0009]本文所描述的是供用于負(fù)載平衡器或流量指揮站及其管理的系統(tǒng)及方法。根據(jù)一種實施例,流量指揮站,在本文有些實施例中被稱為“Oracle流量指揮站”(0TD),是作為一種基于軟件的負(fù)載平衡器提供的,它可以用于交付快速、可靠、可縮放且安全的平臺,用于負(fù)載平衡到后端起源服務(wù)器的互聯(lián)網(wǎng)及其它流量,其中起源服務(wù)器諸如web服務(wù)器、應(yīng)用服務(wù)器或其它資源服務(wù)器。
[0010]流量指揮站的實施例在應(yīng)用服務(wù)器、中間件機器及類似的高性能企業(yè)級計算環(huán)境,諸如Oracle WebLogic和Exalogic環(huán)境,中特別有用。
[0011]根據(jù)一種實施例,該系統(tǒng)包括具有一個或多個流量指揮站實例的流量指揮站,流量指揮站配置為從客戶端接收請求并把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器。根據(jù)一種實施例,該系統(tǒng)包括提供由起源服務(wù)器在接收請求時使用的通信協(xié)議或套接字的高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施;供所述通信協(xié)議或套接字使用的一個或多個協(xié)議終接器/仿真器;及入站套接字配置和出站套接字配置,這兩個配置一起指示流量指示器應(yīng)當(dāng)使用哪個終接器/仿真器把請求傳送到特定的起源服務(wù)器。
[0012]根據(jù)一種實施例,起源服務(wù)器池配置為使得該池中至少一個或多個服務(wù)器被指定為主服務(wù)器,而且該池中至少一個或多個其它服務(wù)器被指定為備用服務(wù)器。流量指揮站配置為使得它確定池中主服務(wù)器的可用性,并且在池包括足量的可用主服務(wù)器時把請求只指引到主服務(wù)器。
[0013]根據(jù)一種實施例,位于流量指揮站的流量監(jiān)視器監(jiān)視流量指揮站實例與起源服務(wù)器中一個或多個資源服務(wù)器之間的流量,包括連接的個數(shù)。流量指揮站可以設(shè)置控制流量的流量速率,包括連接的個數(shù),以便提供浪涌保護(hù),或者速率加速/減速。
[0014]根據(jù)一種實施例,健康檢查子系統(tǒng)周期性地檢查其所配置的資源服務(wù)器的健康狀況,并且還通過向池中配置為起源服務(wù)器的任何新服務(wù)器實例發(fā)送請求、接收適當(dāng)?shù)捻憫?yīng)并且相應(yīng)地更新配置來嘗試檢測一個或多個池中的變化。
[0015]根據(jù)一種實施例,該系統(tǒng)包括高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施,該基礎(chǔ)設(shè)施提供由起源服務(wù)器在接收請求時使用的通信協(xié)議或套接字;供所述通信協(xié)議或套接字使用的一個或多個協(xié)議終接器/仿真器;及入站套接字配置和出站套接字配置,這兩個配置一起指示流量指示器應(yīng)當(dāng)使用哪個終接器/仿真器把請求傳送到特定的起源服務(wù)器。
[0016]根據(jù)一種實施例,流量指揮站可以配置為壓縮存儲在其高速緩存中的數(shù)據(jù),并且通過把來自起源服務(wù)器的內(nèi)容作為壓縮數(shù)據(jù)提供或者,如果特定的客戶端更愿意接收數(shù)據(jù)的非壓縮變體的話,通過在提供它之前動態(tài)解壓縮該數(shù)據(jù)對來自客戶端的請求作出響應(yīng)。根據(jù)一種實施例,流量指揮站可以配置為使用硬件輔助的壓縮基元,以進(jìn)一步改善其數(shù)據(jù)壓縮和解壓縮的性能。【專利附圖】
【附圖說明】
[0017]圖1根據(jù)一種實施例說明了包括負(fù)載平衡器或流量指揮站的計算環(huán)境。
[0018]圖2根據(jù)一種實施例說明了流量指揮站對一個或多個池或起源服務(wù)器的使用。
[0019]圖3根據(jù)一種實施例說明了流量指揮站體系架構(gòu)。
[0020]圖4根據(jù)一種實施例說明了流量指揮站管理環(huán)境和接口。
[0021]圖5根據(jù)一種實施例說明了流量指揮站中主動/被動路由的使用。
[0022]圖6根據(jù)一種實施例進(jìn)一步說明了流量指揮站中主動/被動路由的使用。
[0023]圖7是根據(jù)一種實施例、用于在流量指揮站中提供主動/被動路由的方法的流程圖。
[0024]圖8根據(jù)一種實施例說明了流量指揮站中浪涌保護(hù)的使用。
[0025]圖9根據(jù)一種實施例說明了流量指揮站中速率加速的使用。
[0026]圖10是根據(jù)一種實施例、用于在流量指揮站中提供浪涌保護(hù)的方法的流程圖。
[0027]圖11是根據(jù)一種實施例、用于在流量指揮站中提供速率加速的方法的流程圖。
[0028]圖12根據(jù)一種實施例說明了流量指揮站中起源服務(wù)器的動態(tài)發(fā)現(xiàn)。
[0029]圖13根據(jù)一種實施例進(jìn)一步說明了流量指揮站中起源服務(wù)器的動態(tài)發(fā)現(xiàn)。
[0030]圖14是根據(jù)一種實施例、用于在流量指揮站中提供起源服務(wù)器的動態(tài)發(fā)現(xiàn)的方法的流程圖。
[0031]圖15是根據(jù)一種實施例、用于在流量指揮站中提供起源服務(wù)器的動態(tài)發(fā)現(xiàn)的另一種方法的流程圖。
[0032]圖16根據(jù)一種實施例說明了流量指揮站的使用。
[0033]圖17是根據(jù)一種實施例、用于使用流量指揮站的方法的流程圖。
[0034]圖18根據(jù)一種實施例說明了流量指揮站環(huán)境中動態(tài)HTTP解壓縮的使用。
[0035]圖19是根據(jù)一種實施例、用于在流量指揮站環(huán)境中提供動態(tài)HTTP解壓縮的方法的流程圖。
[0036]圖20根據(jù)一種實施例說明了對供流量指揮站環(huán)境中動態(tài)HTTP解壓縮使用的硬件基元的支持。
具體實施例
[0037]如上所述,如今的機構(gòu)越來越依賴于他們的計算資源在無論什么時候都可以具有高性能水平地、很容易地從幾乎任何地點獲得。確保這種資源有效分配的任務(wù)常常需要使用負(fù)載平衡設(shè)備根據(jù)其分配策略以公平的方式分配客戶端對目標(biāo)資源的請求。
[0038]本文所描述的是供負(fù)載平衡器或流量指揮站及其管理使用的系統(tǒng)及方法。根據(jù)一種實施例,流量指揮站,在本文有些實施例中被稱為“Oracle流量指揮站”(0TD),是作為一種基于軟件的負(fù)載平衡器提供的,它可以用于交付快速、可靠、可縮放且安全的平臺,用于負(fù)載平衡到后端起源服務(wù)器的互聯(lián)網(wǎng)及其它流量,其中起源服務(wù)器諸如web服務(wù)器、應(yīng)用服務(wù)器或其它資源服務(wù)器。
[0039]流量指揮站的實施例在應(yīng)用服務(wù)器、中間件機器及類似的高性能企業(yè)級計算環(huán)境,諸如Oracle WebLogic和Exalogic環(huán)境,中特別有用。
[0040]根據(jù)一種實施例,流量指揮站充當(dāng)諸如超文本傳輸協(xié)議(HTTP)和超文本傳輸協(xié)議安全(HTTPS)請求的流量的入口點,這些請求是從客戶端或者客戶端設(shè)備接收的,用于傳送到充當(dāng)起源服務(wù)器的資源或資源服務(wù)器的后端。每個流量指揮站包括一個或多個由配置定義的流量指揮站實例,其中該配置提供關(guān)于那個實例的各種元素的信息,諸如監(jiān)聽者、起源服務(wù)器、故障轉(zhuǎn)移組,以及日志。
[0041]可以和該系統(tǒng)一起使用的客戶端類型的例子包括計算機服務(wù)器、筆記本電腦、諸如智能電話的便攜式設(shè)備,以及其它類型的計算設(shè)備,這些設(shè)備中的一些可以包括例如用于訪問web服務(wù)器的web瀏覽器應(yīng)用。
[0042]可以用作起源服務(wù)器的資源類型的例子包括輕量級目錄訪問協(xié)議(LDAP)服務(wù)器、web服務(wù)器、多媒體服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器,以及其它類型的資源。
[0043]根據(jù)一種實施例,流量指揮站可以執(zhí)行任務(wù),諸如基于一種或多種負(fù)載平衡方法把請求分配到起源服務(wù)器;基于規(guī)定的規(guī)則路由請求;高速緩存被頻繁訪問的數(shù)據(jù);給流量排優(yōu)先級;以及控制服務(wù)質(zhì)量。
[0044]從性能的角度看,根據(jù)一種實施例,流量指揮站可以包括使其能夠以低等待時間處理大量流量的體系架構(gòu)。例如,實施例可以為了在高性能計算環(huán)境,諸如像OracleExalogoc Elastic Cloud,中使用或者為了利用高性能通信構(gòu)架,諸如像InfiniBand,與位于后端的起源服務(wù)器通信而進(jìn)行優(yōu)化。根據(jù)一種實施例,為了支持高可用性,流量指揮站可以識別流量指揮站實例中提供主動-被動或主動-主動故障轉(zhuǎn)移的故障轉(zhuǎn)移組。隨著到網(wǎng)絡(luò)的流量量增加,流量指揮站環(huán)境可以通過利用它可以把請求路由到其的附加后端服務(wù)器重新配置流量指揮站,或者通過修改流量傳送的速率,而被縮放。
[0045]從管理的角度看,根據(jù)一種實施例,流量指揮站設(shè)計為容易安裝、配置和使用;并且可以包括簡單的、向?qū)?qū)動的圖形接口,以及健壯的命令行接口,讓管理員在管理流量指揮站實例的時候使用。對于任何特定的機構(gòu),依賴于他們的商業(yè)需求,諸如他們想為其使用流量指揮站來平衡請求的后端應(yīng)用的個數(shù)、諸如安全性的內(nèi)部需求,以及他們希望使用的流量指揮站特征,流量指揮站的拓?fù)浣Y(jié)構(gòu)可以變化,以解決他們的需求。例如,一種簡單的流量指揮站拓?fù)浣Y(jié)構(gòu)可能最初使用運行在專用計算節(jié)點上并且向位于后端的服務(wù)器池分配客戶端請求的單個流量指揮站實例。為了避免單點故障,管理員可以配置運行在不同節(jié)點上并且形成主動-被動故障轉(zhuǎn)移對的兩個同源流量指揮站實例。為了改善資源利用率,管理員可以利用兩個虛擬IP地址配置處于主動-主動模式的兩個流量指揮站實例。
[0046]術(shù)語表
[0047]根據(jù)一種實施例,使用以下術(shù)語。很顯然,根據(jù)其它實施例,附加的和/或不同的術(shù)語也可以使用。
[0048]配置:確定流量指揮站實例的運行時行為的可配置元素(例如,元數(shù)據(jù))的集合。根據(jù)一種實施例,一種典型的配置包含流量指揮站應(yīng)當(dāng)在其上監(jiān)聽請求的監(jiān)聽者的定義(例如,IP地址與端口的組合),連同關(guān)于請求應(yīng)當(dāng)發(fā)送至的位于后端的服務(wù)器的信息。當(dāng)流量指揮站實例啟動時,以及在處理客戶端請求時,流量指揮站可以讀取該配置。
[0049]實例(流量指揮站實例):根據(jù)配置實例化并且部署在管理節(jié)點或管理服務(wù)器上的流量指揮站服務(wù)器。
[0050]集群:根據(jù)同一個配置創(chuàng)建的兩個或多個流量指揮站實例的集合。
[0051]故障轉(zhuǎn)移組:通過虛擬IP地址(VIP)分組的兩個或多個流量指揮站示例。根據(jù)一種實施例,故障轉(zhuǎn)移組在主動-被動模式中提供高可用性;其中請求在VIP接收并路由到被指定為主實例的實例;如果該主實例不可到達(dá),則請求路由到備用實例。根據(jù)一種實施例,對于主動-主動故障轉(zhuǎn)移,需要兩個故障轉(zhuǎn)移組,每個組具有唯一的VIP,但是兩個組包括具有顛倒的主和備用角色的相同節(jié)點;故障轉(zhuǎn)移組中的每個實例對于一個VIP被指定為主實例,對于另一個VIP被指定為備用的。
[0052]管理服務(wù)器:托管包括管理控制臺和命令行接口在內(nèi)的接口的專門配置的流量指揮站實例,管理員可通過這些接口創(chuàng)建流量指揮站配置、把它們部署成作為管理節(jié)點上的實例,并且管理這些實例。
[0053]管理節(jié)點:被指定為管理員可以在其上部署流量指揮站實例的主機的物理服務(wù)器。根據(jù)一種實施例,在給定的節(jié)點上,管理員只能部署一種配置的一個實例。
[0054]INSTANCE_H0ME:管理服務(wù)器或管理節(jié)點上管理員的選擇的一個目錄,其中存儲關(guān)于流量指揮站實例的配置數(shù)據(jù)與二進(jìn)制文件。
[0055]0RACLE_H0ME:管理員的選擇的一個目錄,管理員在其中安裝流量指揮站二進(jìn)制文件。
[0056]管理控制臺:管理服務(wù)器上基于web的圖形接口,管理員可以使用它來創(chuàng)建、部署和管理流量指揮站實例。
[0057]客戶端:根據(jù)一種實施例,把請求(例如,HTTP和HTTPS請求)發(fā)送到流量指揮站實例的代理(例如,web瀏覽器或應(yīng)用)??梢耘c本系統(tǒng)一起使用的客戶端類型的例子包括計算機服務(wù)器、筆記本電腦、諸如智能電話的便攜式設(shè)備,以及其它類型的計算設(shè)備,這些設(shè)備中的一些可以包括例如用于訪問web服務(wù)器的web瀏覽器應(yīng)用。
[0058]起源服務(wù)器:根據(jù)一種實施例,位于后端的資源或服務(wù)器,流量指揮站把它從客戶端接收到的請求轉(zhuǎn)發(fā)到其,并且從其接收對客戶端請求的響應(yīng)??梢杂米髌鹪捶?wù)器的資源類型的例子包括輕量級目錄訪問協(xié)議(LDAP)服務(wù)器、web服務(wù)器、多媒體服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器,以及其它類型的資源。
[0059]起源-服務(wù)器池:托管相同的應(yīng)用或服務(wù)并且管理員可以通過使用流量指揮站進(jìn)行負(fù)載平衡的起源服務(wù)器的集合。根據(jù)一種實施例,流量指揮站基于特定于那個池的負(fù)載分配方法把客戶端請求分配到起源-服務(wù)器池中的服務(wù)器。
[0060]虛擬服務(wù)器:流量指揮站實例中提供唯一的IP地址(或主機名)與端口組合的虛擬實體,通過其,流量指揮站可以為對一個或多個域的請求進(jìn)行服務(wù)。根據(jù)一種實施例,一個節(jié)點上的流量指揮站實例可以包含多個虛擬服務(wù)器。管理員可以專門為每個虛擬服務(wù)器配置諸如進(jìn)入的連接的最大個數(shù)的配置,并且還可以定制每個虛擬服務(wù)器如何處理請求。
[0061]圖1根據(jù)一種實施例說明了包括負(fù)載平衡器或流量指揮站的計算環(huán)境。如圖1中所示,根據(jù)一種實施例,流量指揮站100 (在本文有些實施例中被稱為Oracle流量指揮站(OTD))可以部署在一個或多個物理計算機服務(wù)器101 (或者包括處理器(CPU)、內(nèi)存和儲存器的類似計算設(shè)備)上,并且可以包括一個或多個流量指揮站實例102、104,流量指揮站實例又可以利用高可用性心跳或類似手段106彼此通信。
[0062]對于任何特定的機構(gòu),依賴于他們的商業(yè)需求,諸如他們想為其使用流量指揮站來平衡請求的后端應(yīng)用的個數(shù)、諸如安全性的內(nèi)部需求,以及他們希望使用的流量指揮站特征,流量指揮站的拓?fù)浣Y(jié)構(gòu)可以變化,以解決他們的需求。后端可以包括一個或多個起源服務(wù)器110,其例子可以包括LDAP服務(wù)器114、web服務(wù)器118、多媒體服務(wù)器122、應(yīng)用服務(wù)器126以及數(shù)據(jù)庫服務(wù)器128。根據(jù)一種實施例,應(yīng)用服務(wù)器可以是WebLogic服務(wù)器(WLS)。依賴于機構(gòu)的特定需求,可以使用其它類型的起源服務(wù)器,以及應(yīng)用服務(wù)器。每個起源服務(wù)器可以經(jīng)諸如以太網(wǎng)網(wǎng)絡(luò)的內(nèi)部網(wǎng)絡(luò)130彼此通信,并且與流量指揮站通信。
[0063]根據(jù)一種實施例,流量指揮站可以經(jīng)外部網(wǎng)絡(luò)136、互聯(lián)網(wǎng)138,以及在許多機構(gòu)的情況下是防火墻139,從客戶端134接收請求??梢耘c本系統(tǒng)一起使用的客戶端類型的例子包括計算機服務(wù)器、筆記本電腦、諸如智能電話的便攜式設(shè)備,以及其它類型的計算設(shè)備,這些設(shè)備中的一些可以包括例如用于訪問web服務(wù)器的web瀏覽器應(yīng)用。
[0064]圖2根據(jù)一種實施例說明了流量指揮站對一個或多個池或起源服務(wù)器的使用。在圖2所說明的例子中,流量指揮站與兩個池一起使用,包括具有在這里指示為A172、B174、C176、D178的四個應(yīng)用服務(wù)器的(第一)應(yīng)用服務(wù)器池170 ;及具有在這里指示為A182、B184、C186的三個web服務(wù)器的(第二)web服務(wù)器池。根據(jù)其它實施例和例子,依賴于機構(gòu)的特定需求,可以使用其它類型與數(shù)量的池和服務(wù)器。
[0065]在圖2所說明的例子中,拓?fù)浣Y(jié)構(gòu)包括形成主動-被動故障轉(zhuǎn)移組150并且包括用于客戶端請求接收的單個虛擬IP地址190的兩個流量指揮站實例(102和104)。當(dāng)主動實例(在這個例子中是實例102)接收請求190、192、194時,它確定請求應(yīng)當(dāng)發(fā)送至的服務(wù)器池,并且基于為那個池規(guī)定的負(fù)載分配方法把請求197、198轉(zhuǎn)發(fā)到那個池中的一個服務(wù)器。
[0066]雖然圖2中所示的例子說明了位于后端的兩個服務(wù)器池的使用,但是管理員可以把流量指揮站配置為把請求路由到多個池中的服務(wù)器。在圖2所說明的主動-被動設(shè)置中,在任何時間點故障轉(zhuǎn)移組中都有一個節(jié)點是冗余的。根據(jù)一種實施例,為了改善資源利用率,管理員可以利用兩個虛擬IP地址在主動-主動模式中配置兩個流量指揮站實例;在這種場景下,每個實例設(shè)法滿足(cater to)在一個虛擬IP地址上接收的請求,并且備份另一個實例。
[0067]圖3根據(jù)一種實施例說明了流量指揮站體系架構(gòu)。根據(jù)一種實施例,流量指揮站可以包括使它能夠以低等待時間處理大流量量的體系架構(gòu)。實施例還可以為了在高性能計算環(huán)境中使用或者為了利用高性能通信構(gòu)架與位于后端的起源服務(wù)器通信而進(jìn)行優(yōu)化。
[0068]如圖3中所示,根據(jù)一種實施例,流量指揮站可以包括一個或多個Netscape便攜式運行時(NSPR) 202和網(wǎng)絡(luò)安全性服務(wù)(NSS) 206層。根據(jù)一種實施例,流量指揮站還可以包括具有一個或多個訪問控制212、日志214、HTTP壓縮216、I/O過濾器218、錯誤處理220、速率整形222、入侵檢測224或其它部件的HTTP引擎210 ;以及具有一個或多個http客戶端232、響應(yīng)客戶端234、健康檢查236、路由策略238、負(fù)載控制240、負(fù)載平衡器244、WLS支持246、粘性路由248或其它部件的反向代理服務(wù)器部件230。根據(jù)一種實施例,流量指揮站還可以包括具有一個或多個接收器線程252、工作者線程254、保持活動線程256或其它部件的HTTP連接處理器250。根據(jù)一種實施例,流量指揮站還可以包括具有一個或多個TCP線程262、負(fù)載平衡器264或其它部件的TCP連接處理器260。根據(jù)一種實施例,流量指揮站還可以包括一個或多個事件調(diào)度270、動態(tài)配置72、監(jiān)視274或其它部件。
[0069]很顯然,根據(jù)其它實施例,可以使用附加的和/或不同的部件。
[0070]圖4根據(jù)一種實施例說明了流量指揮站管理環(huán)境和接口。從管理的角度看,流量指揮站設(shè)計為容易安裝、配置和使用;并且可以包括簡單的、向?qū)?qū)動的圖形接口,以及健壯的命令行接口,讓管理員在管理流量指揮站實例的時候使用。如圖4中所示,根據(jù)一種實施例,流量指揮站可以包括一個或多個流量指揮站實例280、281、282,其中這些實例中至少一個被指定為管理服務(wù)器(280),而其它實例被指定為管理節(jié)點(281、282)。
[0071]根據(jù)一種實施例,管理環(huán)境284包括管理接口 285,管理接口 285又包括管理控制臺(⑶I) 286和/或命令行接口 288中的一個或多個,使管理員290能夠配置或以別的方式管理292流量指揮站,或者其實例294、296。
[0072]主動-被動路由
[0073]在有些主動-被動路由方法中,負(fù)載平衡器維持第一服務(wù)器集群作為主(即,主動)集群,而另一個服務(wù)器集群作為備用(即,被動)集群。這是災(zāi)難性恢復(fù)的情形下是有用的,由此,當(dāng)主數(shù)據(jù)中心發(fā)生故障時,流量自動地路由到備用的數(shù)據(jù)中心。根據(jù)一種實施例,流量指揮站采用細(xì)致入微的(nuanced)方法,由此,流量指揮站只有在所有主動節(jié)點都發(fā)生故障之后才挑選備用節(jié)點。
[0074]根據(jù)一種實施例,在服務(wù)器池中,一些起源服務(wù)器可以被規(guī)定為主服務(wù)器,而其它被規(guī)定為備用服務(wù)器。如果至少一個主服務(wù)器可用,則流量指揮站將把請求只路由到非備用服務(wù)器(即,路由到主服務(wù)器)。但是,如果沒有主服務(wù)器可用,則流量指揮站將把請求路由到池中的備用服務(wù)器。一旦有任何主服務(wù)器再次變得可用,流量指揮站就將停止把請求發(fā)送到備用服務(wù)器,并且將把后續(xù)請求路由到該主服務(wù)器。
[0075]圖5根據(jù)一種實施例說明了流量指揮站中主動/被動路由的使用。如圖5中所示,主動/被動環(huán)境可以包括在把請求路由到起源服務(wù)器346時使用的、具有一個或多個流量指揮站實例342的流量指揮站340。起源服務(wù)器可以配置為一個或多個服務(wù)器池(在這里示為池A348和池B354),每個池具有一個或多個主服務(wù)器350、357以及一個或多個備用服務(wù)器 356,358ο
[0076]如圖5中所說明的,流量指揮站可以配置為使得,對于任何特定的池(例如,池Α),如果那個池中至少有一個主服務(wù)器可用,則最初流量指揮站將把請求只路由344到非備用服務(wù)器(即,主服務(wù)器),并且將不把請求路由到(為了說明,在這里加陰影的)備用服務(wù)器。
[0077]根據(jù)一種實施例,在一段時間之后,雖然一個或多個主服務(wù)器可能由于故障而變得不可用,但是如果至少有一個主服務(wù)器可用,則流量指揮站將繼續(xù)只把請求路由360到那個池中的主服務(wù)器。
[0078]在另一段時間之后,根據(jù)一種實施例,如果池中所有主服務(wù)器都變得不可用,則流量指揮站將代替地把請求路由364到該池中的備用服務(wù)器。
[0079]圖6根據(jù)一種實施例進(jìn)一步說明了流量指揮站中主動/被動路由的使用。如圖6中所示,如果池中所有主服務(wù)器仍然不可用,則流量指揮站將繼續(xù)把請求路由366到該池中的備用服務(wù)器。
[0080]當(dāng)一個主服務(wù)器再次變得可用時368,依賴于配置,流量服務(wù)器可以在開始把流量轉(zhuǎn)發(fā)到(新的或者以別的方式現(xiàn)在可用的)主服務(wù)器之前延遲一段時間。在這種情況下,流量指揮站將繼續(xù)370把請求路由到備用服務(wù)器一段時間,并且還不把請求路由到(為了說明,在這里加陰影的)主服務(wù)器。
[0081]隨后,一旦至少一個主服務(wù)器再次完全可用,如果至少一個主服務(wù)器可用,則流量指揮站將再次把請求只路由到非備用服務(wù)器(即,主服務(wù)器),并且將不把請求路由到備用服務(wù)器。
[0082]根據(jù)一種實施例,在配置粘性路由的情況下,如果一個主服務(wù)器變得不可用,則粘著到該服務(wù)器的所有后續(xù)請求將不被拒絕,而是將路由到其它主服務(wù)器或者如果沒有主服務(wù)器可用的話就路由到備用服務(wù)器。由于過渡起源服務(wù)器可能沒有為粘性請求存儲的會話信息,因此,在這種情況下,會話將有可能失敗。但是,新的提供服務(wù)的服務(wù)器可以挑戰(zhàn)(challenge)發(fā)送者并且建立用于那些粘性請求的新會話。備用服務(wù)器將只在所有主服務(wù)器都不可用的時候才用于路由。
[0083]根據(jù)一種實施例,為了配置供流量指揮站使用的主動/被動路由,稱為“backup-server”的兀素可以添加在server, xml文件中的兀素〈origin-server〉中,用于
規(guī)定備用服務(wù)器,其參數(shù)和例子分別在表1和列表1中提供。
[0084]
【權(quán)利要求】
1.一種用在包括流量指揮站部件的計算環(huán)境中的系統(tǒng),包括: 流量指揮站,其具有一個或多個流量指揮站實例,配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施,其提供供起源服務(wù)器在接收請求時使用的通信協(xié)議或套接字; 一個或多個協(xié)議終接器/仿真器,其供用于所述通信協(xié)議或套接字 '及入站套接字配置和出站套接字配置,入站套接字配置和出站套接字配置一起指示流量指揮站應(yīng)當(dāng)使用哪個終接器/仿真器來把請求傳送到特定的起源服務(wù)器。
2.如權(quán)利要求1所述的系統(tǒng),其中該系統(tǒng)包括在包括InfiniBand網(wǎng)絡(luò)基礎(chǔ)設(shè)施的高性能計算環(huán)境中。
3.如權(quán)利要求1所述的系統(tǒng),其中每個服務(wù)器池包括一個或多個資源服務(wù)器,而且每個服務(wù)器池能夠配置為使用特定的通信協(xié)議或套接字。
4.如權(quán)利要求1所述的系統(tǒng),其中通信協(xié)議或套接字包括經(jīng)InfiniBand的互聯(lián)網(wǎng)協(xié)議(IPoIB)0
5.如權(quán)利要求1所述的系統(tǒng),其中通信協(xié)議或套接字包括套接字直接協(xié)議(SDP)。
6.一種用在包括流量指揮站部件的計算環(huán)境中的方法,包括步驟: 提供具有一個或多個流量指揮站實例的流量指揮站,該流量指揮站配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 提供高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施,該高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供供起源服務(wù)器在接收請求時使用的通信協(xié)議或套接字;` 提供供用于所述通信協(xié)議或套接字的一個或多個協(xié)議終接器/仿真器;及提供入站套接字配置與出站套接字配置,入站套接字配置和出站套接字配置一起指示流量指揮站應(yīng)當(dāng)使用哪個終接器/仿真器來把請求傳送到特定的起源服務(wù)器。
7.如權(quán)利要求6所述的方法,其中該系統(tǒng)包括在包括InfiniBand網(wǎng)絡(luò)基礎(chǔ)設(shè)施的高性能計算環(huán)境中。
8.如權(quán)利要求6所述的方法,其中每個服務(wù)器池包括一個或多個資源服務(wù)器,而且每個服務(wù)器池能夠配置為使用特定的通信協(xié)議或套接字。
9.如權(quán)利要求6所述的方法,其中通信協(xié)議或套接字包括經(jīng)InfiniBand的互聯(lián)網(wǎng)協(xié)議(IPoIB)0
10.如權(quán)利要求6所述的方法,其中通信協(xié)議或套接字包括套接字直接協(xié)議(SDP)。
11.一種非臨時性的計算機可讀介質(zhì),包括存儲在其上的指令,當(dāng)所述指令被一個或多個計算機讀取并執(zhí)行時,使這一個或多個計算機執(zhí)行步驟,包括: 提供具有一個或多個流量指揮站實例的流量指揮站,該流量指揮站配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 提供高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施,該高速網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供供起源服務(wù)器在接收請求時使用的通信協(xié)議或套接字; 提供供用于所述通信協(xié)議或套接字的一個或多個協(xié)議終接器/仿真器;及提供入站套接字配置與出站套接字配置,入站套接字配置和出站套接字配置一起指示流量指揮站應(yīng)當(dāng)使用哪個終接器/仿真器來把請求傳送到特定的起源服務(wù)器。
12.一種在流量指揮站環(huán)境中提供動態(tài)數(shù)據(jù)壓縮的系統(tǒng),包括:流量指揮站,其具有一個或多個流量指揮站實例,配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 高速緩存,其能夠被啟用以供起源服務(wù)器中的一個或多個使用,所述高速緩存用于高速緩存對應(yīng)于起源服務(wù)器內(nèi)容的一個或多個數(shù)據(jù)集合,其中,如果所述高速緩存被啟用,則流量指揮站在高速緩存壓縮數(shù)據(jù)之前壓縮要在高速緩存中存儲的數(shù)據(jù);并且 其中高速緩存的數(shù)據(jù)能夠響應(yīng)于來自客戶端的請求而根據(jù)客戶端的需求或者以壓縮格式或者以解壓縮格式提供給客戶端。
13.如權(quán)利要求12所述的系統(tǒng),其中,響應(yīng)于需要非壓縮數(shù)據(jù)的特定客戶端,流量指揮站把請求傳送到起源服務(wù)器,以獲得響應(yīng),或者,如果流量指揮站確定該數(shù)據(jù)的拷貝目前以壓縮格式存儲在其高速緩存中,則解壓縮那個數(shù)據(jù)并且把該數(shù)據(jù)的解壓縮變體返回給客戶端。
14.如權(quán)利要求12所述的系統(tǒng),其中客戶端能夠向流量指揮站指示響應(yīng)能夠包括壓縮數(shù)據(jù),或者響應(yīng)不能包括壓縮數(shù)據(jù)并且只有非壓縮數(shù)據(jù)是能夠被接受的,而且其中流量指揮站相應(yīng)地操作。
15.如權(quán)利要求14所述的系統(tǒng),其中所述指示能夠由客戶端作為請求組成部分的一部分,諸如HTTP請求首部,傳送到流量指揮站。
16.如權(quán)利要求12所述的系統(tǒng),其中每個起源服務(wù)器能夠配置為向客戶端提供圖像文件和其它內(nèi)容,并且流量指揮站能夠配置為響應(yīng)于請求而把從那個起源服務(wù)器接收到的文件的選擇高速緩存在其高速緩存中特定的時間段。
17.如權(quán)利要求12所述的系統(tǒng),其中流量指揮站配置為使用硬件輔助的壓縮基元來進(jìn)一步改善其數(shù)據(jù)壓縮和解壓縮的性能。
18.如權(quán)利要求17所述的系統(tǒng),其中該系統(tǒng)包括壓縮/解壓縮庫,而壓縮/解壓縮庫又能夠用于改善某些處理器上的壓縮和解壓縮操作的性能。
19.一種用于在流量指揮站環(huán)境中提供動態(tài)數(shù)據(jù)解壓縮的方法,包括: 提供具有一個或多個流量指揮站實例的流量指揮站,該流量指揮站配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 提供高速緩存,該高速緩存能夠被啟用,供起源服務(wù)器中的一個或多個使用,所述高速緩存用于高速緩存對應(yīng)于起源服務(wù)器內(nèi)容的一個或多個數(shù)據(jù)集合,其中,如果高速緩存被啟用,則流量指揮站在高速緩存壓縮數(shù)據(jù)之前壓縮要在高速緩存中存儲的數(shù)據(jù);并且 其中高速緩存的數(shù)據(jù)能夠響應(yīng)于來自客戶端的請求而根據(jù)客戶端的需求或者以壓縮格式或者以解壓縮格式提供給客戶端。
20.如權(quán)利要求19所述的方法,其中,響應(yīng)于需要非壓縮數(shù)據(jù)的特定客戶端,流量指揮站把請求傳送到起源服務(wù)器,以獲得響應(yīng),或者,如果流量指揮站確定該數(shù)據(jù)的拷貝目前以壓縮格式存儲在其高速緩存中,則解壓縮那個數(shù)據(jù)并且把該數(shù)據(jù)的解壓縮變體返回給客戶端。
21.如權(quán)利要求19所述的方法,其中客戶端能夠向流量指揮站指示響應(yīng)能夠包括壓縮數(shù)據(jù),或者響應(yīng)不能包括壓縮數(shù)據(jù)并且只有非壓縮數(shù)據(jù)是能夠被接受的,并且其中流量指揮站相應(yīng)地操作。
22.如權(quán)利要求21所述的方法,其中所述指示能夠由客戶端作為請求組成部分的一部分,諸如HTTP請求首部,傳送到流量指揮站。
23.如權(quán)利要求19所述的方法,其中每個起源服務(wù)器能夠配置為向客戶端提供圖像文件和其它內(nèi)容,并且流量指揮站能夠配置為響應(yīng)于請求而把從那個起源服務(wù)器接收到的文件的選擇高速緩存在其高速緩存中特定的時間段。
24.如權(quán)利要求19所述的方法,其中流量指揮站配置為使用硬件輔助的壓縮基元來進(jìn)一步改善其數(shù)據(jù)壓縮和解壓縮的性能。
25.如權(quán)利要求24所述的方法,進(jìn)一步包括提供壓縮/解壓縮庫,而壓縮/解壓縮庫又能夠用于改善某些處理器上壓縮和解壓縮操作的性能。
26.一種非臨時性的計算機可讀介質(zhì),包括存儲在其上的指令,當(dāng)所述指令被一個或多個計算機讀取并執(zhí)行時,使這一個或多個計算機執(zhí)行步驟,包括: 提供具有一個或多個流量指揮站實例的流量指揮站,該流量指揮站配置為從客戶端接收請求并且把請求傳送到具有一個或多個服務(wù)器池的起源服務(wù)器; 提供高速緩存,該高速緩存能夠被啟用以供起源服務(wù)器中的一個或多個使用,所述高速緩存用于高速緩存對應(yīng)于起源服務(wù)器內(nèi)容的一個或多個數(shù)據(jù)集合,其中,如果高速緩存被啟用,則流量指揮站在高速緩存壓縮數(shù)據(jù)之前壓縮要在高速緩存中存儲的數(shù)據(jù);并且 其中高速緩存的數(shù)據(jù)能夠響應(yīng)于來自客戶端的請求而根據(jù)客戶端的需求或者以壓縮格式或者以解壓 縮格式提供給客戶端。
【文檔編號】G06F17/30GK103827828SQ201280047079
【公開日】2014年5月28日 申請日期:2012年9月26日 優(yōu)先權(quán)日:2011年9月27日
【發(fā)明者】B·庫克雷賈, P·孔達(dá)杜 申請人:甲骨文國際公司