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