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