文/金曉華 編輯/吳夢晗
“數(shù)字外管”和“安全外管”是近年來外匯管理科技工作的建設(shè)主線。外匯管理部門高度重視信息系統(tǒng)的高質(zhì)量建設(shè),致力于推動外匯信息系統(tǒng)建設(shè)模式的轉(zhuǎn)型,旨在為外匯管理提供更好的技術(shù)支撐。目前,外匯信息系統(tǒng)采用的是集中式架構(gòu)。該架構(gòu)的特點是主機資源集中在大型主機或幾個小型機上,采用縱向擴展(Scale Up)的方式,通過增加單機的資源配置來提升系統(tǒng)的處理能力,通過硬件設(shè)備和基礎(chǔ)軟件的集群機制來提升系統(tǒng)的可用性。但隨著互聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的迅速發(fā)展,集中式核心架構(gòu)已經(jīng)難以應(yīng)對海量數(shù)據(jù)和高并發(fā)的業(yè)務(wù)場景,分析處理數(shù)據(jù)能力明顯落后,而系統(tǒng)升級迭代則相對復(fù)雜,無法滿足外匯管理科技建設(shè)的需求。相較而言,現(xiàn)代分布式架構(gòu)在擴展性、低成本、降低運行風(fēng)險等方面的優(yōu)勢明顯,已經(jīng)成為主流的聯(lián)機交易系統(tǒng)架構(gòu)方案。將分布式架構(gòu)合理納入到外匯信息系統(tǒng),可進一步提升外匯管理科技應(yīng)用能力。
現(xiàn)代分布式架構(gòu)以X86(微處理器執(zhí)行的計算機語言指令集)和云計算為基礎(chǔ),以數(shù)據(jù)切分(Sharding)、讀寫分離為特征,采用橫向擴展(Scale Out)的方式,通過增加服務(wù)器的數(shù)量,提升系統(tǒng)的處理能力。與目前外匯信息系統(tǒng)所使用的集中式架構(gòu)相比,分布式架構(gòu)的解決方案是基于普通電腦服務(wù)器(PC Server)來做橫向擴展,成本較低,也可帶來系統(tǒng)良好的成長性。但由于分布式架構(gòu)采用了單體處理能力較小、可靠性較低的常規(guī)服務(wù)器,與主機或小型機相比存在一些弱點。鑒此,要將分布式架構(gòu)應(yīng)用到外匯業(yè)務(wù)系統(tǒng)中,需解決以下關(guān)鍵問題。
第一,實現(xiàn)可用性需求。在外匯信息系統(tǒng)應(yīng)用分布式架構(gòu),應(yīng)滿足以下需求以實現(xiàn)系統(tǒng)的可用性。一是在系統(tǒng)發(fā)生故障時,能夠做到故障不擴大不蔓延。二是實現(xiàn)系統(tǒng)故障的自動發(fā)現(xiàn)與隔離,系統(tǒng)具備一定的自愈能力。三是能夠支持業(yè)務(wù)的無中斷升級,提高業(yè)務(wù)上線速度,降低業(yè)務(wù)變更的影響范圍。四是保證包括網(wǎng)絡(luò)、存儲、同步軟件等基礎(chǔ)設(shè)施的高度可用。
第二,滿足安全性要求。采用分布式架構(gòu)的業(yè)務(wù)系統(tǒng),應(yīng)該考慮在基礎(chǔ)設(shè)備、操作系統(tǒng)、數(shù)據(jù)庫以及應(yīng)用等多個層面,采取安全加固措施,以提高系統(tǒng)的安全性能。
第三,保證數(shù)據(jù)一致性。CAP(一致性Consistency、可用性Availiablity、分區(qū)容錯性Partition tolerance)理論認為,在一個分布式系統(tǒng)中,一致性、可用性、容錯性三者不可兼得。因此,為了滿足外匯管理系統(tǒng)數(shù)據(jù)的權(quán)威性要求,要在各項場景下,優(yōu)先保證數(shù)據(jù)的一致性。例如,在對系統(tǒng)解耦(即降低模塊間的依賴關(guān)系)拆分后,要協(xié)調(diào)各部分之間的并行處理,確保最終處理結(jié)果的一致性;在分布式系統(tǒng)數(shù)據(jù)分開存放、處理后,要保證系統(tǒng)整體可靠性等。
第四,實現(xiàn)分布式架構(gòu)下的多活(多活是指多中心之間沒有明確的主備之分,每個中心都有生產(chǎn)并互為災(zāi)備的任務(wù))。分布式架構(gòu)下多活是其在外匯信息系統(tǒng)應(yīng)用的另一個技術(shù)挑戰(zhàn)。需要在分布式處理架構(gòu)下對業(yè)務(wù)遷移、數(shù)據(jù)復(fù)制、同步、拆分、負載全局路由等方面,全面進行技術(shù)考量,以實現(xiàn)分布式架構(gòu)下多活實踐。
第五,解決運維難題。分布式架構(gòu)是在廉價硬件基礎(chǔ)設(shè)施上構(gòu)建起來的開放技術(shù)體系,它采用大量的X86服務(wù)器來實現(xiàn)主機或小型機才有的處理能力,在降低成本的同時,應(yīng)用結(jié)構(gòu)和關(guān)聯(lián)關(guān)系更為復(fù)雜。龐大的服務(wù)器群和復(fù)雜的系統(tǒng),無疑會給運維工作增加難度。因此如何實現(xiàn)軟硬件一體化的運維管理,是分布式架構(gòu)應(yīng)用于外匯信息系統(tǒng)必須解決的問題。
第一,制定切實可靠的分布式架構(gòu)轉(zhuǎn)型策略。外匯信息系統(tǒng)龐大復(fù)雜,可以在審慎借鑒國內(nèi)外金融機構(gòu)成功案例的基礎(chǔ)上,按照整體規(guī)劃、分步實施、風(fēng)險可控的原則制定架構(gòu)轉(zhuǎn)型策略。通過敏捷開發(fā)、管理輕量化,將龐大的系統(tǒng)解耦,降低系統(tǒng)耦合度,形成小的業(yè)務(wù)模塊;再應(yīng)用自動化測試發(fā)布技術(shù),采用服務(wù)重用(指服務(wù)可重復(fù)使用)、架構(gòu)解耦達到快速開發(fā)上線的目的。同時采用DevOps(Development和Operations的組合詞),通過軟件開發(fā)與運維緊密合作,確保頻繁更新架構(gòu)時系統(tǒng)的可靠性與可用性。
第二,優(yōu)化“兩地三中心”架構(gòu)。目前,災(zāi)備中心運行模式與生產(chǎn)中心為主備關(guān)系,在主中心業(yè)務(wù)遇到問題后,可將網(wǎng)絡(luò)、數(shù)據(jù)庫、應(yīng)用全部進行整體切換。但這種方式的資源利用率低下,且切換時會造成業(yè)務(wù)中斷,不能滿足較高的業(yè)務(wù)連續(xù)性要求。而在應(yīng)用分布式技術(shù)后,災(zāi)備中心可通過實現(xiàn)“分布式多活”,使所有資源在物理分布上可以存儲在不同的數(shù)據(jù)中心,多個數(shù)據(jù)中心的資源按需實現(xiàn)共享;但需注意的是,邏輯上所有的數(shù)據(jù)中心需虛擬化為一個大的數(shù)據(jù)中心,以確保在使用時不會出現(xiàn)差異。在新的架構(gòu)下,各數(shù)據(jù)中心協(xié)同工作,沒有主備機之分,各數(shù)據(jù)中心并行,共同為某項業(yè)務(wù)調(diào)動資源、提供服務(wù)。與“兩地三中心”架構(gòu)相比,這種“分布式多活”架構(gòu)每個數(shù)據(jù)中心的資源利用率都較高,服務(wù)能力也較強,且在一個數(shù)據(jù)中心發(fā)生故障或災(zāi)難的情況下,其他數(shù)據(jù)中心可以正常運行并接管其業(yè)務(wù),達到互為備份的效果。
第三,注重分布式技術(shù)的安全管理。夯實科技支撐體系是建設(shè)“安全外管”的重要內(nèi)容,而其關(guān)鍵是要保證外匯信息系統(tǒng)架構(gòu)的安全。要協(xié)同打造“安全外管”,需要關(guān)注以下幾點:一是要關(guān)注分布式系統(tǒng)架構(gòu)的風(fēng)險點,參考國內(nèi)外成功經(jīng)驗,在滿足技術(shù)創(chuàng)新的前提下,提高系統(tǒng)安全保障能力。二是關(guān)注網(wǎng)絡(luò)延時、故障等因素對系統(tǒng)可用性與及時性的影響,提高系統(tǒng)的服務(wù)性能。分布式架構(gòu)下,由于服務(wù)和數(shù)據(jù)分布在不同的機器上,因此每次交互可能需要跨機器、跨機房甚至跨數(shù)據(jù)中心(IDC)運行。這需要防止網(wǎng)絡(luò)輸入和輸出(IO)成為性能瓶頸,進而導(dǎo)致系統(tǒng)整體性能的降低。對此,可考慮采用異步化、失敗重試、數(shù)據(jù)同步、代理專線等方法予以解決。三是調(diào)整安全策略。由于分布式架構(gòu)采用了虛擬化、開源軟件等技術(shù),對安全防護技術(shù)及管理模式提出了更高要求,因此需要調(diào)整現(xiàn)有的安全策略,布局新的安全模式與技術(shù)手段。
第四,強化運維管理能力。由于分布式技術(shù)大多使用開源架構(gòu),運維工作不再依賴于提供產(chǎn)品的服務(wù)方,且隨著系統(tǒng)架構(gòu)節(jié)點的增多,設(shè)備數(shù)量龐大,系統(tǒng)運維的復(fù)雜度也會逐步上升。這些都對外匯局的維護管理工作提出了新的挑戰(zhàn),使運維管理在今后的系統(tǒng)建設(shè)中占有更加重要的位置。一方面,它對專業(yè)的技術(shù)化人才需求更為迫切。開源的分布式技術(shù)應(yīng)用,使得運維管理人員需對架構(gòu)有詳盡的了解,并熟練掌握底層技術(shù);另一方面,運維手段趨向多元化。除采用人工運維以外,開發(fā)自動化的監(jiān)控運維平臺勢在必行。更好地對所有設(shè)備進行實時監(jiān)控、報警和輪詢維護,將成為今后運維的方向。
綜合考慮外匯局基礎(chǔ)架構(gòu)特點,可分階段逐步實現(xiàn)整體系統(tǒng)架構(gòu)的分布式改造,以保證各外匯業(yè)務(wù)系統(tǒng)的平穩(wěn)過渡,保障外匯系統(tǒng)架構(gòu)的安全可靠。
一是開展應(yīng)用架構(gòu)分布式改造,實現(xiàn)應(yīng)用無狀態(tài)目標。從分布式技術(shù)整體發(fā)展趨勢看,傳統(tǒng)集中式系統(tǒng)架構(gòu)和分布式系統(tǒng)架構(gòu)會在一段時間結(jié)合并用,以實現(xiàn)業(yè)務(wù)穩(wěn)定不中斷、改革創(chuàng)新有方向。在此階段,整體系統(tǒng)架構(gòu)可繼續(xù)使用集中式架構(gòu),僅對部分創(chuàng)新性較強、業(yè)務(wù)并發(fā)性高的應(yīng)用場景進行分布式改造,并與集中式架構(gòu)整合,統(tǒng)一管理,以此來降低新技術(shù)帶來的風(fēng)險,保障外匯業(yè)務(wù)的連續(xù)性。
二是實施云化基礎(chǔ)設(shè)施改造,實現(xiàn)設(shè)備資源的虛擬化。建立云平臺,開展數(shù)據(jù)層分布式改造,在保持接口兼容性和數(shù)據(jù)一致性的前提下提供分布式存儲與服務(wù)能力,逐步遷移各類應(yīng)用到云平臺之上。在這一階段,應(yīng)實現(xiàn)數(shù)據(jù)與業(yè)務(wù)分離,實施業(yè)務(wù)去狀態(tài)化改造,并將數(shù)據(jù)層遷移到云化基礎(chǔ)設(shè)施。云平臺還應(yīng)提供統(tǒng)一的基礎(chǔ)運維,提供應(yīng)用的圖形化編排、自動化部署、運行監(jiān)控,以及彈性伸縮、容災(zāi)等高可用性服務(wù)。
三是建立微服務(wù)治理框架,按需提供云化業(yè)務(wù)服務(wù)。傳統(tǒng)單體應(yīng)用側(cè)重于一個系統(tǒng)包含各個服務(wù)模塊,且服務(wù)模塊之間沒有完全解耦,存在一定的耦合。而微服務(wù)架構(gòu)則側(cè)重于服務(wù)拆分,不同的業(yè)務(wù)主題域由不同的應(yīng)用承載其服務(wù)邏輯,應(yīng)用之間相互獨立,服務(wù)之間實現(xiàn)完全的解耦,通過系統(tǒng)之間的輕量級通信機制實現(xiàn)相互的協(xié)作。這一階段的重點是打造開放的服務(wù)能力平臺,統(tǒng)一數(shù)據(jù)處理,減少對數(shù)據(jù)層的邏輯依賴,實現(xiàn)基礎(chǔ)業(yè)務(wù)能力的服務(wù)化。
分布式技術(shù)應(yīng)用于外匯信息系統(tǒng)架構(gòu)轉(zhuǎn)型已在路上,相關(guān)技術(shù)部門應(yīng)進一步做好分布式技術(shù)的深入研究和實際應(yīng)用,實現(xiàn)信息系統(tǒng)的快速、高質(zhì)量建設(shè),提升科技對業(yè)務(wù)的響應(yīng)速度,為建設(shè)“數(shù)字外管”和“安全外管”提供更好的技術(shù)支撐。