王良清
(浙江省測繪資料檔案館,浙江杭州 310012)
浙江省地理空間數據交換和共享平臺(以下簡稱“省交換平臺”)已于2011年底投入試運行。其包括政務版和公眾版2個互相邏輯隔離的系統,到2012年底已交換、整合、發布了涉及36個廳局的專題數據,并形成了900多個服務圖層,服務數據總量超過13 TB。此類平臺具有數據量大、現勢性強、數據交換和共享部門多、多源空間數據整合處理復雜、要求具備高服務質量等特點。
捷克學者在研究中表明,網絡地圖服務(WMS)的服務質量通常包括用戶請求等待時間、并發性、可用性和可操作性等關鍵指標,任何服務中斷或關鍵數據丟失都會造成直接經濟損失或信譽損害[1],因而地理信息服務系統必然存在高可用性(high availability)和負載均衡(load balancing)等技術需求。基于計算機集群技術,省交換平臺設計和部署了鏈路負載均衡、服務器高可用集群和負載均衡集群等運行支持環境,以確保系統提供7×24 h不間斷服務的質量(QoS)。
計算機集群是一組互聯的、能夠高度緊密協同工作的計算機。在某種意義上,它們可以被看做是一臺計算機[2]。計算機集群按功能和結構可分成高可用性集群、負載均衡集群、高性能計算(HPC)集群(一般用于科學計算)和網格計算4類[2-3]。省交換平臺采用前兩類,一是高可用性集群,即通過集成硬件和軟件的容錯性來實現整體服務的高可用,如果集群中某個節點發生了故障,則其將由另外節點代替;二是負載均衡集群,一般通過負載均衡器將業務的負載流量盡可能平均合理地分攤到集群各個節點。一般這兩種集群會使用類似的技術,或同時具有高可用性與負載均衡的特點。
負載均衡是服務器集群的關鍵技術,其根據一定算法,把客戶端請求自動分配給不同服務器,均衡服務器負載,以保證系統性能最優,并實現故障自動切換和失敗轉移[4]。負載均衡集群除具有高性能、高可用的優點之外,還便于橫向擴展(scaleout),即在線增加節點而無需停止服務;而且具有對用戶的透明性,客戶端只需與一個強大的虛擬服務器交互,用戶覺察不到部分服務器切入或切出的變化。負載均衡技術通常采用專門軟件或硬件來實現。省交換平臺同時采用F5負載均衡器和Oracle RAC軟件兩種方式。
GIS數據中心一般需要兩種以上的網絡環境。省交換平臺兩種網絡環境互相邏輯隔離,政務版以省電子政務外網(MPLS VPN2)為主,公眾版以因特網為主,如圖1所示。為滿足兩種系統網絡服務的高可用性需求,省交換平臺按照先進、成熟、實用原則,基于集群和負載均衡技術,配置了網絡接入、負載均衡、服務器集群、存儲備份、數據庫管理和信息安全等100余臺套IT設備。

圖1 GIS數據中心集群系統架構圖
由圖1可知,1臺F5位于因特網出口,它帶有鏈路控制器(LC),能實現多個ISP鏈路接入的負載均衡。這臺F5通過LC的DNS解析功能給不同用戶返回不同的DNS解析結果,這樣就可根據一定的策略使電信/聯通的不同用戶從不同ISP線路訪問站點。兩條100 Mbps的光纖鏈路和公眾服務專網(MPLS VPN1)鏈路,構建了多鏈路負載均衡,保障了在線服務和用戶訪問鏈路暢通穩定,滿足了公眾用戶情況、峰值并發用戶數及數據量等方面的實際需求。
可用性是一個計算機系統可以使用時間的比率,目前計算機業界普遍接受用平均故障間隔時間(MTBF)和平均修復時間(MTTR)作為評價可用性的度量標準[5]。GIS數據中心可將多臺服務器和光纖存域網(FC SAN)通過網絡互聯組成多個服務器集群。省交換平臺高可用集群包括Oracle RAC和VMware HA,其最高可用水平可超過99.5%。
(1)Oracle RAC
為了應對空間數據量大、政府部門在線應用多和公眾用戶訪問強度高等情況,可通過部署Oracle RAC構建高可用集群,并集中管理矢量數據。Oracle RAC高可用性的技術基礎是故障轉移(Failover),即集群中任何一個節點的故障都不會影響用戶使用,連接到故障節點的用戶會被自動轉移到健康節點,而用戶感覺不到這種切換[5]。這就是RAC采用的透明應用故障轉移(TAF)技術。
省交換平臺設計與部署了政務版和公眾版兩套矢量數據庫服務器集群(Oracle RAC),RAC節點數均為4。
(2)VMware HA
VMware HA是VMware在企業應用環境中用來保障企業級應用的不間斷運行需求所產生的一個組件。HA允許一個集群在資源許可的情況下,將出現故障的ESXi主機上面的虛擬機VM轉移到其他的主機上啟動運行。省交換平臺政務版和公眾版各利用兩臺刀片機(CPU 4×8核,內存128 GB)構建自己的VMware高可用集群環境,部署包括主備域控、網管、殺毒、地圖審核、密鑰管理、數據入庫、測試或臨時使用等數十個VM,并按各自需求分配CPU和內存等相應資源。VMware HA有力保障了這些VM的可用性。
服務器負載均衡是利用負載在兩個或多個服務器間進行分發的技術獲得優化的資源利用、最優吞吐量、最小反應時間,避免過載[6]。在省交換平臺負載均衡集群內,每臺服務器都提供相同或相似的地理信息服務,位于服務器集群前端的1臺負載均衡器(F5 LTM),負責根據均衡策略將用戶請求在服務器集群中分發,為用戶提供高效的并行服務,并對服務器可用性進行維護。
F5負載均衡集群包括以下元素:① 虛擬服務器(VS),偵聽并管理流量,負責分發各種服務請求到服務器池中的成員;② VIP,即VS對外提供的虛擬IP地址;③ 服務器池及其成員,VS可擁有多個服務器池,而每個服務器池可擁有由IP地址及其端口號構成的多個成員,各成員負責響應和處理各種服務請求;④節點,僅指IP地址。
F5 LTM包含靜態(如輪詢、比率)和動態負載均衡方法,包括動態速率、最少連接和觀察模式的動態平衡,這些方法用于以整體方式跟蹤服務器的動態性能。省交換平臺負載均衡集群目前主要采用最少連接算法。
(1)Web應用服務器集群
省級GIS數據中心需要為影像(瓦片)服務、矢量服務和門戶服務等提供Web應用服務器集群。集群內的各個節點軟硬件配置基本相同,且運行相同或相似的應用。省交換平臺Web應用服務器集群由6臺服務器組成,每臺服務器裝有WebLogic、ArcGIS Server、門戶(KBPortal)和OGC服務等。政務版現只需提供6個服務端口,故在F5 LTM上建立了6個相應的虛擬服務器;而另一臺F5上建立的30個虛擬服務器滿足了公眾版現有3條服務鏈路各10個服務端口的需求。
政務和公眾環境各配置1臺F5 LTM。政務版應用服務器集群的所有服務器連接到核心交換機,當接收到一個服務請求時,F5 LTM根據策略決定最優的服務器池成員并予以響應。請求的結果從選定的服務器池成員返回到F5,并經由VIP地址轉發出去。
①負載均衡策略
F5可對流量和內容進行有效的管理和分配,其提供了12種靈活算法將數據流有效轉發到所連服務器集群,用戶只需登錄到1臺虛擬服務器,數據流即被F5靈活均衡地分配到服務器集群中。筆者主要采用最少連接算法,即將請求發給集群中當時連接數最少的服務器,當其中某個服務器發生故障時,F5就將其從隊列中剔除,不參加下一次比較,直至恢復正常。由于平臺身份驗證系統需要客戶端和驗證服務器之間進行多次交互,因此必須將用戶請求持續分發到同一個服務器進行驗證才可完成,這就要啟用F5基于源地址的會話保持功能。若無需會話保持,對于服務器配置相似的負載均衡系統,輪詢是調度算法的首選。
②應用狀態監控方法
F5 LTM提供了先進的監視器用于檢查設備、應用和內容的可用性,包括適合多種應用的專用監視器(如多種應用服務器、SQL、LDAP等),以及用于檢查內容和模擬應用調用的定制監視器[7]。F5 LTM可以主動檢測和響應任何服務器或應用錯誤。常用的健康監視器有地址(ICMP)、服務(TCP)、內容(HTTP)和交互(FTP)等檢查類型。一般設檢查時間間隔t=5 s,超時timeout則為3t+1=16 s,即若連續4次檢查均未獲得期望的響應,才將池成員或節點標記為故障。
(2)數據庫服務器集群
數據庫服務器集群與Web應用服務器集群不可共享同一負載均衡設備,因此形成兩個層次的負載均衡配置。省交換平臺直接使用Oracle RAC軟件自身的負載均衡功能,不必再配置相關硬件。
Oracle RAC采用連接均衡和服務均衡相結合的方法[5]。連接均衡指在RAC內服務器實例運行過程中,后臺進程PMON會定時收集系統的負載信息,然后登記到監聽進程(Listener)中。RAC內每個節點的Listener都掌握所有節點的負載狀態,當收到客戶的連接請求時,Listener會將連接轉給負載最小的節點,這類似于動態調度最小連接算法。服務均衡指在RAC內,通過將應用按照功能模塊進行服務(Service)劃分,并將每個Service固定在某些RAC節點上,以減少節點實例間的Cache Fusion(緩存融合)數據同步。作為空間數據庫的 Oracle RAC,Cache Fusion 的同步數據量較大[8]。
省級地理信息服務質量的兩項重要指標為:①用戶請求平均等待時間在1 s內,互操作和信息加載服務平均等待時間不超過5 s;② 支持峰值并發用戶數1000。筆者據此對省交換平臺性能進行了壓力測試。
主要針對政務版提供的WMTS、WFS、WFS-G和WMS 4種OGC標準服務,利用LoadRunner工具,指定屬于浙江區域內省級數據的第15~17級圖層進行圖形瀏覽或拉框查詢,測試模擬客戶端數量1000時的加載時間。測試數據見表1。

表1 GIS服務性能壓力測試數據
本次測試所針對的服務在測試過程中流程正常;模擬 1000并發用戶,未出現失敗,通過率100%;平均響應時間在1 s以內;服務器系統運行狀態良好。由于采用了服務器集群和負載均衡技術,省交換平臺較好地滿足了設計要求,否則很難達到高可用、高性能的指標。
按照省交換平臺總體目標,縱向實現國家—省—市(縣)多級地理空間數據的互聯互通,橫向可實現跨部門跨行業的地理信息資源融合共享。隨著這種交換共享體系的不斷擴大和深入建設,系統運行風險將隨之增加,效率、安全和高可用性將成為保障系統運行的重要因素。作為全省空間數據基礎設施的中心節點,本平臺采用服務器集群和負載均衡技術,提供了一種擴展服務器帶寬和增加服務器吞吐量的廉價有效方法,增強了系統處理能力,避免了單點故障,保證了系統的安全、高效運行和未來橫向擴展,也為后續同類系統建設提供了借鑒經驗。
[1] JIRI H,JIRI A,BRONISLAVA H.Testing of Web Map Services[N].Article under Review for the International Journal of Spatial Data Infrastructures Research.Special Issue GSDI-11,submitted,2009-03-26.
[2] 維基百科.計算機集群[EB/OL].[2012-10-10].http:∥en.wikipedia.org/wiki/Computer_cluster.
[3] 周洪波.云計算技術、應用、標準和商業模式[M].北京:電子工業出版社,2011:126.
[4] 宋興彬,許紅果.集群和負載均衡技術在省級數據集中的應用研究[J].計算機工程與設計,2008,29(1):92-94.
[5] 張曉明.大話Oracle RAC集群高可用性備份與恢復[M].北京:人民郵電出版社,2009:203-242.
[6] 維基百科.負載均衡[EB/OL].[2012-10-15].http:∥en.wikipedia.org/wiki/Server_Load_Balancing.
[7] F5 Networks Inc.F5 BIG-IP LTM本地流量管理器產品資料[EB/OL].[2012-10-20].http:∥ www.f5.com.cn.
[8] 翟永,楊曦.地理信息服務網站服務器集群負載均衡技術應用研究[J].地理信息世界,2010,8(6):20.