王海霞,黃植勤
(中國電信股份有限公司廣東研究院,廣東 廣州 510630)
IT云服務能力平臺業務連續性策略研究
王海霞,黃植勤
(中國電信股份有限公司廣東研究院,廣東 廣州 510630)
IT云服務能力平臺承載全網集中系統業務,存在著系統故障點集中、風險集中的風險,一旦出現故障容易導致服務中斷,影響電信業務的受理。為了規避業務中斷的風險,通過分析IT云服務能力平臺的三層服務框架,從基礎設施的高可用、服務器的高可用、應用層的高可用三個方面探討了本地高可用的主要技術,并提出了IT云服務能力平臺兩地三中心的容災部署方案以及IT云服務能力平臺通過LVS+keepalived實現負載均衡的詳細方法。
IT云服務能力平臺 業務連續性 高可用 負載均衡
日益激烈的市場競爭和不斷提高的客戶服務質量要求需要中國電信提供不間斷的服務,尤其是發生災難時也要提供一些關鍵業務的客戶服務,避免企業的財務損失,保障企業信譽不受影響,增強企業核心競爭力,這對業務支撐系統提出了更高的數據保護和穩定運行要求。
自2004年以來,中國電信各省的業務支撐系統逐步從省集中建設轉變為集團集中的模式,在市場拓展、客戶服務等工作中發揮著越來越重要的作用;與此同時,集團級業務支撐系統集中化帶來了業務快速響應等優勢,但同時也存在系統故障點集中、風險集中的危險,如人為誤操作、系統故障等一般風險以及大面積停電、水災、地震等重大災難。
IT云服務能力平臺作為新一代IT架構核心,需具備基礎能力,以平臺為核心逐步實施BSS(Business Support System,業務支撐系統)全國集中系統部署上線,提升IT對4G等新業務的集約化運營支撐能力。全網集中對云平臺的處理能力、穩定性、彈性部署、業務連續性等提出了更高的要求。鑒于此,本文將對IT云服務能力平臺的業務連續性策略和關鍵技術進行分析研究。
IT云服務能力平臺總體框架圖如圖1所示。IT云服務能力平臺采用分布式框架,分別由Web層、服務層和數據層組成,每層都是由一組主機組成,采用集群部署模式,分別為Web服務器集群、應用服務器集群和數據庫集群。集群可以看作是一個整體,集群的節點可以單獨提供服務,各節點之間通過負載均衡實現高可用和故障隔離。

圖1 IT云服務能力平臺總體框架圖

圖2 IT云服務能力平臺公共框架概要圖
IT云服務能力平臺公共框架概要圖如圖2所示。
平臺公共框架是直接提供給BSS應用系統調用的開發框架,是BSS應用系統和各專題模塊、第三方包之間的一個中心樞帶。平臺公共框架構建于Ketty和aLogic中間件之上。
Web層框架主要封裝Web的相關框架,包括Session會話共享模塊、Struts2相關基礎模塊、Filter、Servlet、分頁工具以及調用服務層的接口封裝等。該Web層應盡量依賴較少的第三方jar包,為Web層提供相關BaseAction基類和基礎框架。
由于在分布式應用中,服務層和Web層是分開部署,Web層調用服務層的方法是通過遠程restful服務。因此,框架對restful服務的調用進行了封裝,使對Web層的調用是透明的。
服務層框架包主要封裝后臺服務的相關框架,包括業務邏輯基礎類、全局序列、相關服務組裝、restful開發封裝等,處于Web層和數據層的中間。
服務層框架包為應用系統的后臺服務層提供相關基類和基礎框架。
數據層框架主要封裝底層數據訪問相關框架,包括抽象數據增刪改查訪問、mybatis封裝、dao封裝、全局序列生成等,并提供BaseDao和BaseEntity等基礎類。
從技術角度而言,可用性是指IT系統持續正常運行時間的百分比。它由兩方面來確定:一方面是系統的可靠性,通常用MTTF(Mean Time To Failure,平均無故障時間)來衡量;另一方面是系統的可維護性,通常用MTTR(Mean Time To Restoration,故障平均維修時間)來衡量。那么,MTTF/(MTTF+MTTR)×100%表示為系統的可用性。因此,為提高系統的高可用,往往使用相關的高可用技術來提供保障,還可以從迅速地發現和解決故障,恢復系統正常運行這方面著手。
IT云服務能力平臺主要采用以下高可用技術:
(1)服務器的高可用技術
服務器的高可用性有兩個層次,通常情況下,開放平臺應用服務器的高可用是通過結構冗余來實現,另外還可以提高服務器硬件的可靠性。結構冗余的方式主要包括雙機熱備、服務器N+1備份和負載均衡等模式,具體如下:
◆雙機熱備模式通常對生產系統采用1+1的冗余配置,硬件和軟件完全一致,一旦生產服務器發生故障,系統軟件也可發現故障,然后將應用自動切換到備用服務器,實現應用的快速恢復。
◆服務器N+1備份一般是采用1臺備機對N臺服務器進行備份,當任何一臺生產服務器發生故障時,備用服務器則接管這臺生產服務器繼續服務。
◆負載均衡模式通常在群組中配置一些冗余服務器,當其中任何一臺服務器出現異常時,路由將服務請求轉到集群中的其他服務器,這樣就能實現群組整體對外能力的可靠性。
總體來說,服務器N+1備份可維護性好,資源利用率較高,但恢復時效性稍差;而雙機熱備和負載均衡的恢復時間目標的性能較好,但維護起來相對復雜,并且存在資源冗余度大的問題。
在服務器硬件層面,目前服務器廠商采用了多項高可用技術如群集管理、提供遠程鏡像支持、軟硬件監控等方式提供高可用的平臺,還可以采用部件冗余等來保障服務器硬件的正常運行。
此外,隨著虛擬化技術的快速發展,有效屏蔽了硬件之間的差異,服務器的可用性得到有效提升,從而實現了硬件資源的按需分配、服務器的在線遷移,即使發生服務器故障,系統也可以做到自動隔離故障部件,并且完成快速切換。
(2)基礎設施的高可用技術
基礎設施主要是指存儲、網絡和電源設備等,這些設備的可用性目前主要是采用冗余技術來實現。存儲設施的高可用技術有以下兩種方式:
◆存儲設備內部的磁盤冗余:主要依靠RAID(Redundant Arrays of Independent Disks,磁盤陣列)技術實現,可以分為鏡像冗余和校驗冗余。
◆存儲設備之間復制技術:具體是通過磁盤陣列自身的數據塊復制技術手段來實現。
復制方式既可以采用同步方式,也可以采用異步方式。目前,同步方式主要應用于服務器I/O性能好、網絡帶寬充足和對J恢復點目標(RPO)要求高的應用環境,主要包括EMC SRDF/S(Symmetrix Remote Data Facility/Syncronous,同步遠程數據復制拓撲)、HDS TrueCopy等;異步方式主要適用于對磁盤性能和網絡帶寬要求低的應用環境,主要包括EMC SRDF/A(Symmetrix Remote Data Facility/Asyncronous,異步遠程數據復制拓撲)、HDS HUR(遠程異步容災軟件)等技術。
網絡高可用技術通常包括網絡接口冗余、網絡負載均衡技術、多個備用的交換機和路由器、多網卡聚合等。電源的高可用性既可以通過UPS(Uninterruptible Power System,不間斷電源)來保障,也可以配置冗余的電源來提供保障。
(3)應用層的高可用技術
該層使用的技術主要包括以下兩方面:
一方面是提高應用的可靠性,如在業務處理的時候采用負載均衡模式,在應用接入方面采用多點接入架構,在應用數據庫方面采用高可用技術;
另一方面是提高應用可維護性,如故障監控、故障報警和系統恢復等工具。
負載均衡模式具體實現方式是將多個節點部署在應用層,這些節點承擔同樣的業務,如果一個節點發生故障,服務訪問請求能夠被系統自動轉到其他節點處理,并且其他節點均不受影響。
多點接入架構主要采用的方式是同時部署多個訪問接入點,并且在不同地點提供多套彼此獨立的冗余應用系統,如果任何一地或者多地的應用系統出現故障,其他地點的應用系統能自動接管。多點接入架構大多適用于網上銀行、電話銀行等渠道交易處理類型的應用系統。
數據庫的高可用往往通過冗余的方式實現,包括結構和數據的冗余,具體如下:
◆實現結構冗余的有Standby技術和集群技術,Standby技術適用于故障時的主、備用數據庫快速切換,一般是采用事務日志同步方式來實現,如Oracle的DataGuard等,數據庫的集群架構技術可通過多節點負載均衡提供故障容錯和無縫切換,如Oracle的Real Application Cluster。
◆數據冗余一般通過數據備份和磁盤復制來完成,如為了將生產系統的數據備份到磁帶介質離線保存,可使用集中備份軟件(如NetBackup),還可以通過Oracle軟件工具EXP、RMAN進行數據庫的數據導出備份。
此外,在信息系統的運行維護中還廣泛使用了一些應用工具,如監控報警、系統恢復和故障診斷等,使用這些應用工具可以盡快發現服務器、網絡、電源和應用等的故障,并能在短時間內完成診斷和修復應用組件,大大減少了應用系統的平均維修時間,從而有效提高可用性。
IT云服務能力平臺兩地三中心部署示意圖如圖3所示。

圖3 IT云服務能力平臺兩地三中心部署示意圖
“兩地三中心”中的兩地是指同城和異地;三中心是指除了生產中心外,還包括兩個容災中心,分別是同城容災中心和異地容災中心。由于近幾年國內外曾發生過大范圍的自然災害,“兩地三中心”即同城雙中心加異地災備中心的災備模式應運而生,這種災備模式的優勢是既有高可用性,又具備災難備份的處理能力。
同城雙中心的具體實現方式是建立兩個數據中心,分別位于同城或鄰近城市,這兩個數據中心相互獨立,并具備基本等同的業務處理能力來承擔關鍵業務運營,兩個數據中心之間是通過高速鏈路實現數據的實時同步。正常情況下,雙中心是同時運行的,互相之間可切換運行,并同時分擔業務;災難情況下,雙中心可進行災備應急切換,保障業務連續性,并且可做到基本不丟失數據。與異地災備方式比較而言,同城雙中心建設快、投資低,并且可靠性高、運維管理比較簡單等。
異地災備中心通常遠離生產中心的所在城市,在其他城市建立一個災備中心,對生產數據進行備份,當生產中心出現故障時,就可以啟用異地災備中心的備份數據,實現業務的恢復。
總體而言,兩地三中心的災難恢復方案可以保障不同災難場景下的業務連續性要求。
由于本地機房與生產中心位于同一個機房,它們之間是通過局域網進行連接的,因此比較容易實現生產與災備服務器之間應用切換和數據的實時復制,本地機房的容災主要是用于防范生產服務器的故障。
由于異地災備中心與生產中心不在同一個機房,受限于生產端與災備端連接的網絡線路帶寬和質量,因此應用系統的切換需要一些時間,異地災備中心完全可以在業務限定的時間內進行恢復和實現在可容忍丟失范圍內的數據恢復。異地災備中心主要用于防范大規模區域性災難。
IT云服務能力平臺上的承載業務按照重要性分為三級:一級業務是支撐生產的關鍵業務;二級業務是實時性不高的查詢;三級業務是指統計業務等。為了保障業務的連續性,具體實現方案如下:
(1)三中心同時在線
同城兩IDC(Internet Data Center,互聯網數據中心)各承接49.5%的一級、二級業務訪問流量。異地備IDC承接1%的一級、二級業務隨機熱度流量,確保所有應用版本和數據的正確性。異地備IDC同時承接三級業務流量,如實時性不高的統計報表業務、各省數據準實時同步以及一些臨時取數操作等。同一中心內的應用和數據原則上部署在同一個機房內。
(2)三中心應用軟件版本一致
各IDC中心部署全套應用軟件,各IDC中心應用軟件版本統一一致(除灰度發布狀態)。應用依據請求類型,動態加載租戶個性化插件。
(3)三中心業務部署
各IDC中心分別都存儲一套全量業務數據,主數據庫集群和備數據庫集群結構一致。二級業務訪問同城備數據庫,三級業務數據僅僅在異地備數據集群存儲(三級業務數據可通過一級業務數據重新計算生成)。各IDC數據集群,數據庫采用一主一從。
(4)訪問分類
一級業務數據操作:所有IDC應用都連到主IDC數據集群;
二級業務數據訪問:所有IDC應用都連到同城備IDC數據集群;
三級業務數據操作:連到異地備IDC數據集群。
(5)IDC間數據同步
主備IDC中心通過異步方式進行數據備份。主IDC到同城備IDC 99.9%的數據同步時延5分鐘內,同城備IDC向異地備IDC 99.9%的數據同步時延30分鐘內。外系統數據同步給主IDC數據集群,單次數據量不大于5千條,可通過實時接口發送;單次數據量大于5千條,可通過數據同步,10萬條最大時延在10分鐘。異地備IDC同步到各省99.9%的數據同步時延30分鐘內。
(6)數據準確性保障
記錄全部數據的變更日志,對日志及主數據進行核對,確保數據準確。記錄關鍵數據變更日志,對日志和備份數據進行核對,保障備份數據準確一致。
集群一般是由一組計算機構成,每個節點可以是不同硬件構成的計算機,也可以是部署不同操作系統的計算機,從外部看起來又是一個整體。如提供Web服務的集群,集群的每個節點可以單獨提供服務,對外界而言可看作是一個大Web服務器。
常見的應用服務器集群、Web服務器集群和數據庫集群屬于負載均衡系統。負載均衡系統是指集群內所有的節點同時分擔系統的工作負載,它們都處于活動狀態。負載均衡集群一般適用于相應網絡請求的網頁服務器和數據庫服務器。負載均衡集群可以在接到請求時檢查到接受請求較少、不繁忙的服務器,并把請求轉移到這些服務器上。從檢查服務器狀態這一點來看,負載均衡和容錯集群比較接近,不同之處在于負載均衡集群的數量更多。
集群系統主要解決以下問題:
(1)負載均衡:集群中的計算機共同承擔負載壓力,這樣主服務器的負載得到緩解,主服務器的硬件和軟件要求也隨之降低。
(2)高可靠性(HA):通過集群管理軟件提供不間斷服務。
(3)高性能計算(HPC):通常適用于科學計算領域,并行處理復雜運算。
負載均衡比較常用DNS(Domain Name System,域名系統)負載均衡,還包括反向代理負載均衡和IP負載均衡等,即在集群中有服務器A、B、C,它們之間互不相干,當其中任何一臺的機器宕機了,都不會影響其他機器的運行。用戶發來一個請求時,通過負載均衡器的算法來決定由哪臺機器處理,如使用round算法,分別有用戶a、b、c,則分別由服務器A、B、C來處理。
(1)基于DNS的負載均衡
在DNS服務器中,不同IP地址的服務器可以配置相同的名稱,查詢服務器根據名稱解析得到一個IP地址。因此,不同的查詢服務器可以訪問不同IP地址上的Web服務器,實現負載均衡的目標。
(2)基于NAT(Network Address Translation,網絡地址轉換)的負載均衡
負載均衡的方式具體是通過地址轉換網關實現,配置內部IP地址的計算機通過轉換網關可以訪問外網。而且地址轉換網關能將每個外部訪問連接均勻轉換為不同的內部IP地址,則外網中的服務器就能各自與自己轉換得到的地址上的計算機進行通信。
(3)反向代理負載均衡
通過代理服務器實現負載均衡,客戶通過代理訪問內部Web服務器,代理服務器可以將請求均勻地轉發給多臺內部Web服務器上。
IT云服務能力平臺整體采用分布式架構,Web層和服務層都采用集群部署模式,通過負載均衡實現訪問調度,實現服務器集群高可用和故障隔離,具體采用LVS+keepalived的方式,其中LVS(Linux Virtual Server,Linux虛擬服務器)實現負載均衡,keepalived承擔健康檢查和故障轉移,提升系統的可用性。采用這種架構對現有系統的擴展非常容易實現,只需更改LVS的配置文件,并在后端添加或者減少realserver,就能實現無縫配置變更。
LVS是一個開源的軟件,可以實現Linux平臺下的簡單負載均衡;keepalived是運行在LVS之上,其主要功能是實現真實機的故障隔離及負載均衡器間的失敗切換,提高系統的可用性。
keepalived的主要作用是檢測服務器的狀態,并能將有故障的服務器從集群中去除,當服務器修復后,keepalived可以把恢復正常的服務器重新加入到服務器集群中。
LVS+keepalived切換過程如下:
(1)主從機完成keepalived的安裝,并且把vip指定到一臺機器上。
(2)把主機斷網或者是數據庫stop,vip飄走。
(3)查看從機的ip,得到vip。
本文結合IT云服務能力平臺的框架,分別從本地高可用策略和容災策略兩個方面探討了業務連續性的主要策略,并提出了IT云服務能力平臺兩地三中心的具體實現方案。同時,重點分析業務連續性主要實現的技術,包括集群和負載均衡技術,以及IT云服務能力平臺通過LVS+keepalived實現負載均衡的具體方法。目前,虛擬化技術成為重要的發展方向,運用該技術能夠顯著提高計算機的工作效率。按應用領域的維度,虛擬化技術可以劃分為服務器虛擬化、存儲虛擬化、網絡虛擬化等;按實現層次的維度,虛擬化技術又可以劃分為硬件虛擬化、操作系統虛擬化、應用程序虛擬化等。下一步,虛擬化技術將成為IT云服務能力平臺重點研究領域。
[1]劉振棟,羅群. 基于云平臺的業務與數據遷移技術分析與研究[J]. 信息與電腦: 理論版, 2015(17): 32-33.
[2]高勇. 業務連續性管理與災難管理——從IT連續到業務連續[J]. 中國信息安全, 2014(12): 114.
[3]楊鈞,黃傳俊. 云架構下支撐系統業務連續性提升方案研究[J]. 江蘇通信, 2016(6): 43-45.
[4]梁曉歡. 數據庫安全、虛擬化和云計算——現代IT領域數據保護所面臨的三大關鍵技術挑戰[J]. 電腦與電信,2011(4): 5-8.
[5]王霜,修保新,肖衛東. Web服務器集群的負載均衡算法研究[J]. 計算機工程與應用,2004,40(25): 78-80.
[6]李雙慶,古平,程代杰. Web集群系統負載均衡策略分析與研究[J]. 計算機工程與應用,2002,38(19): 40-42.
[7]李坤,王百杰. 服務器集群負載均衡技術研究及算法比較[J]. 計算機與現代化, 2009(8): 7-10.
[8]蓋九宇,張忠能,肖鶴. 分布式數據庫數據復制技術的分析與應用[J]. 計算機應用與軟件,2005,22(7): 36-38.
[9]孫海燕,王曉東,肖儂,等. 數據網格中的數據復制技術研究[J]. 計算機科學, 2005,32(7): 13-16.
[10]張秋余,王璐. 分布式系統中數據復制的研究與應用[J]. 計算機工程與設計, 2005,26(5): 1185-1186.
[11]劉威. 信息系統的高可用性建設探討[J]. 中國金融電腦, 2012(6): 44-48.
[12]劉威. 商業銀行的業務連續性管理探討[J]. 中國金融電腦, 2012(10): 58-61.
Research on Service Continuity Strategy of IT Cloud Service Capability Platform
WANG Haixia, HUANG Zhiqin
(Guangdong Research Institute of China Telecom Co., Ltd., Guangzhou 510630, China)
As IT cloud service capacity platform bears the centralized system services of the entire network, there are disadvantages of intensive system fault point and centralized risk. Once fault happens, the service would be interrupted and the telecommunication service reception would be affected. In order to avoid the risk of service interruption, three-level service architecture of IT cloud service capacity platform was addressed. From three aspects including the high availability of infrastructure, server and application layer, main techniques of local high availability were discussed. In addition, the deployment scheme of remote disaster recovery in three centers of two places for IT cloud service capacity platform was put forward. Finally, the detailed method to implement load balancing by means of LVS+keepalived for IT cloud service capacity platform was elaborated.
IT cloud service capability platform service continuity high availability load balancing
10.3969/j.issn.1006-1010.2017.20.005
TP393.0
A
1006-1010(2017)20-0027-06
王海霞,黃植勤. IT云服務能力平臺業務連續性策略研究[J]. 移動通信, 2017,41(20): 27-32.
2017-05-19
責任編輯:袁婷 yuanting@mbcom.cn

王海霞:高級工程師,碩士畢業于武漢大學,現任職于中國電信股份有限公司廣東研究院,主要研究方向為IT系統架構設計、需求分析等。

黃植勤:高級工程師,學士畢業于大連理工大學,現任職于中國電信股份有限公司廣東研究院,主要研究方向為IT系統架構設計、需求分析、應用性能管理、IT系統軟硬件評測等。