劉鑫璐
摘要:隨著大型金融企業(yè)信息化建設的不斷推廣,信息化水平不斷提升,客戶及內(nèi)部各部門對lT的需求也持續(xù)增加,核心應用系統(tǒng)承載的訪問量及交易量日益增加,合理、高效的應用系統(tǒng)架構(gòu)顯得尤為重要。采用分層設計理念,將四個邏輯層分別架構(gòu)和選型設計并給出實際部署方案,形成了企業(yè)級高可用應用系統(tǒng)架構(gòu)解決方案,從而達到加強系統(tǒng)的健壯性,減少重復性的錯誤的效果,為應用研發(fā)設計、測試管理、運維管理等提供參考。
關(guān)鍵詞:應用;架構(gòu)設計;高可用性;運維;IT選型
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)05-0074-04
開放科學(資源服務)標識碼(OSID):
1 背景
應用系統(tǒng)構(gòu)架是對已確定的需求的技術(shù)實現(xiàn)構(gòu)架、做好規(guī)劃,運用成套、完整的工具,在規(guī)劃的步驟下去完成任務。應用系統(tǒng)架構(gòu)是應用系統(tǒng)設計的核心,也是應用系統(tǒng)的“靈魂”。應用系統(tǒng)上線后運行穩(wěn)定安全與否,取決于構(gòu)建之初的架構(gòu)選型和設計,常常有“一年之計在于春,系統(tǒng)之初在于架構(gòu)”的說法。
當今技術(shù)的發(fā)展日新月異,大型金融企業(yè)中的應用系統(tǒng)設計逐漸更新優(yōu)化,逐漸演變?yōu)榧夯?、模板化的標準架?gòu)。大型金融企業(yè)盈利能力依靠的是優(yōu)秀的產(chǎn)品和服務、及時準確的信息,而科技是提供創(chuàng)造、獲取、分析、管理信息的手段,因此必須保證信息的安全性、可靠性、準確性、及時性。為應對挑戰(zhàn),科技部門應相互合作、同心協(xié)力,不斷提升信息服務水平,著重從基礎架構(gòu)和系統(tǒng)運維兩個維度對開放平臺基礎架構(gòu)、產(chǎn)品和服務進行深入分析,并總結(jié)了多年來的經(jīng)驗,形成了現(xiàn)有大型金融企業(yè)的企業(yè)級高可用應用系統(tǒng)架構(gòu)解決方案。
2 典型架構(gòu)
結(jié)合大型金融企業(yè)信息系統(tǒng)的技術(shù)特點和業(yè)務需求,推薦典型的高可用基礎架構(gòu)模式如下。
2.1 總體架構(gòu)
大型金融企業(yè)應用系統(tǒng)架構(gòu)包含接入層、應用層、數(shù)據(jù)庫層及存儲層四個邏輯次,如圖1所示。
接入層接收前端訪問請求,并分發(fā)至應用層進行處理。對于日均聯(lián)機交易量百萬級以上的系統(tǒng),建議采用硬件負載均衡設備實現(xiàn)用戶訪問接入,軟件負載均衡產(chǎn)品通常用于并發(fā)數(shù)低于200的業(yè)務場景,硬件負載均衡設備則能夠承擔更大并發(fā)數(shù)及負載壓力的業(yè)務場景,并且可根據(jù)需求進行橫向擴展。
應用層負責應用程序的部署和運行,實現(xiàn)業(yè)務處理邏輯。應用層通常集群化部署,每臺應用服務器“鏡像”化自己,于是一組系統(tǒng)配置相同、應用部署相同的服務器構(gòu)成應用處理組合,實現(xiàn)業(yè)務邏輯,并根據(jù)需求進行橫向和縱向擴充。
數(shù)據(jù)庫層負責提供數(shù)據(jù)管理服務,數(shù)據(jù)管理一般采用成熟的廠商產(chǎn)品,處理聯(lián)機事務和聯(lián)機分析事務,對于數(shù)據(jù)量、業(yè)務量較大的系統(tǒng),采用具有一定容錯能力的數(shù)據(jù)庫集群,各個節(jié)點相互協(xié)同,同時對外提供服務,大幅提高了數(shù)據(jù)庫的可用性;對于數(shù)據(jù)量、業(yè)務量不大的系統(tǒng),無須使用Multiplex集群,采用傳統(tǒng)的HA技術(shù)構(gòu)建一個Active-Standby模式的集群就能滿足需求。對于同時具有聯(lián)機事務處理和聯(lián)機分析處理需求的應用,可結(jié)合實際情況采用混合架構(gòu)模式,對于混合架構(gòu)而言,需要應用具有相應時間窗口進行數(shù)據(jù)庫之間的數(shù)據(jù)同步。
存儲層的高可用模式分為三個層面,一是利用存儲設備自身提供的磁盤冗余機制保障存儲設備的高可用性,二是利用操作系統(tǒng)邏輯卷管理(LVM,Logical Volume Manager)工具實現(xiàn)對兩臺存儲設備的同步讀寫,三是利用系統(tǒng)關(guān)聯(lián)機時間對上述兩臺存儲設備分別進行存儲級鏡像,將數(shù)據(jù)備份到第三臺甚至第四臺存儲設備上,以此保障存儲層面的高可用及數(shù)據(jù)安全。
2.2 接入層
系統(tǒng)接人層作為業(yè)務系統(tǒng)的直接訪問入口,一般采用負載均衡技術(shù),分為軟件負載均衡和硬件負載均衡兩種方式。
通常,軟件負載均衡方式適用于并發(fā)訪問數(shù)較低、負載壓力較小且高可用性要求相對較低的應用場景(日均業(yè)務量百萬以內(nèi)),優(yōu)勢是部署方便、成本較低,缺點是架構(gòu)難以擴展、可靠性較低。硬件負載均衡方式具有承擔更高負載和更多并發(fā)訪問的能力,同時架構(gòu)靈活,具有很強的伸縮性[1]。
硬件負載均衡方式已成為系統(tǒng)接入層的首要選擇。下面重點介紹由硬件負載均衡構(gòu)成的三類集群。
2.2.1 高可用集群架構(gòu)
當應用的并發(fā)訪問壓力在一臺負載均衡設備的承載能力以內(nèi)時,對于系統(tǒng)接入層,我們可采用高可用集群架構(gòu),即利用雙機容錯技術(shù)將兩臺負載均衡設備組成“一主一備”的集群以保障系統(tǒng)接入層的高可用性,單臺設備發(fā)生故障,可以實現(xiàn)毫秒級的主備切換,對用戶體驗幾乎透明。目前大型金融企業(yè)多數(shù)開放式系統(tǒng)的接入層均采用這種架構(gòu),如圖2所示。
2.2.2 多級負載均衡集群架構(gòu)
當應用的并發(fā)訪問壓力超過一臺負載均衡設備的承載能力時,就需要進行橫向擴展,比如網(wǎng)上銀行系統(tǒng),利用多臺設備搭建一個多級負載均衡集群,如圖3所示,第一級由處于主備模式的兩臺鏈路負載均衡設備(簡稱LC)構(gòu)成,實現(xiàn)對下一級應用負載均衡集群進行鏈路層的負載、分發(fā);第二級根據(jù)業(yè)務壓力選用多臺應用負載均衡(簡稱LTM)對后端的應用服務器集群進行負載、分發(fā),集群中每個節(jié)點的地位相同,共同承擔用戶訪問請求,當一個或多個節(jié)點失效時不會影響系統(tǒng)接人層的可用性。
2.2.3 基于客戶端的高可用應用系統(tǒng)架構(gòu)
對于客戶端/服務器(c/s)架構(gòu)的應用系統(tǒng),可通過客戶端的可用性設計提高系統(tǒng)的整體可用性,而不需采用統(tǒng)一接入的集群式架構(gòu),由客戶端來選擇連接的應用服務器,當其中一套不可用時,客戶端主動地選擇其他正常工作的應用系統(tǒng),依次保證系統(tǒng)的高可用,其中對于數(shù)據(jù)更新不敏感或者數(shù)據(jù)實時同步要求不高的系統(tǒng),后端數(shù)據(jù)庫也可部署多套,數(shù)據(jù)采取定期同步方式,如Notes郵件系統(tǒng)、QQ等均采用了該模式。由于各應用系統(tǒng)完全對等,且對數(shù)據(jù)更新不敏感,因此可根據(jù)訪問量需求進行動態(tài)彈性擴展,此類架構(gòu)具有一定的約束條件,但具有很好的可用性和可擴展能力,對基礎架構(gòu)和資源投入相對也要求較低。