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