- 快捷搜索
- 全站搜索
一直以來,商業銀行主要基于大中型主機、以集中式架構構建其業務系統,這種架構具有技術成熟、系統可靠、應用實現相對簡單等優點,同時也存在核心技術由國外供應商所壟斷、系統投入成本高等缺點。隨著開放平臺處理能力的大幅提升、高速網絡技術的日益成熟,以及云計算、分布式存儲等新技術的快速發展和應用,基于開放平臺、采用分布式架構建設業務系統,由于具有成本低、易擴展、自主可控等優勢,也成為商業銀行架構轉型的趨勢。

中國郵政儲蓄銀行信息科技部總經理 李朝暉
分布式業務系統建設歷程
中國郵政儲蓄銀行(以下簡稱“郵儲銀行”)是在改革原有郵政儲蓄管理體制基礎上設立的一家大型國有商業銀行。2007年郵儲銀行成立后,業務應用的開發延續了之前基于開放式平臺的技術路線。隨著商業銀行業務的全面開展、業務量的快速增長,以及應用系統全國集中建設模式的不斷推進,如何構建滿足大業務量、高并發量、高可用性、可擴展性、靈活開放的銀行業務系統,成為郵儲銀行面臨的課題。針對我行信息化歷史包袱小的實際情況,經過充分論證和實踐驗證,積極探索和經驗總結,郵儲銀行以開放式平臺為基礎,采用分布式架構,使用小型機并大規模應用PC服務器組建集群等技術,形成了獨具郵儲銀行特色的分布式系統架構模式。
經過10年的發展,郵儲銀行已建設并在線運行100多個應用系統,這些系統全部采用分布式架構建設,其中除部分涉及賬務處理的應用基于小型機分布式集群構建外,超過80%的應用系統基于PC服務器集群構建。截至2016年底,郵儲銀行基于分布式的業務系統支撐了全行近4萬個網點、5億多客戶的穩定運營,日峰值交易量超過1.5億筆,較好地滿足了業務快速發展的需要。
另外,在云計算技術應用方面,郵儲銀行基于OpenStack開放云平臺技術構建私有云,先后在渠道管理平臺、互聯網網貸、移動展業等生產系統進行部署和應用。目前,云平臺交易占比已超過全行交易量的30%。通過云計算技術的應用,極大地提高了資源利用率,提升了系統資源擴展性,有效應對了突發性的交易高峰壓力。
分布式業務系統架構模式
相對于集中式架構,分布式業務系統具有功能分散、交互關系復雜、處理能力不平衡等特點,因此對系統的總體性能提出了更高要求。同時,由于采用分布式架構,必然面臨CAP理論的約束,即一致性、可用性、容錯性三者不可兼得,但作為銀行業務應用,三者又都不能忽視,如何取舍和補償以滿足業務要求,也是分布式業務系統所面臨的嚴峻問題。郵儲銀行在信息化建設過程中,為解決生產系統中存在的性能瓶頸,提高系統高可用性,滿足一致性、容錯性要求,摸索了一系列行之有效的方法和措施,并在應用過程中不斷完善。
1.性能保障措施
在保證系統性能方面,通過分離處理功能、分散處理壓力、優化數據結構、擴展處理能力等措施,有針對性地提升分布式業務系統的總體性能。
分離處理功能是在分布式業務系統中,將與業務處理過程耦合度較低的處理功能進行分離,減少單位硬件平臺上的處理壓力,保障業務處理可以獲取更多的處理資源,從而提升系統的整體處理性能。其中,包括依據性能影響分離和依據處理功能獨立性分離兩類。依據性能影響分離主要是針對性能影響的需要進行處理上的分離,如個人核心系統劃分卡子系統、折子系統、參數管理子系統、日終處理子系統等;依據處理功能獨立性分離是將一些功能獨立、具備共享價值功能模塊進行分離,如將個人核心系統的尾箱管理、現金與憑證管理、會計核算管理等功能,分離到獨立的系統中。
分散處理壓力是在應用設計中充分考慮應用架構對壓力分散的助力,盡量杜絕跨數據庫事務處理,通過對應用進行有針對性分離設計,以分散方式進行部署,充分發揮小型機集群、PC服務器集群特點,分散系統處理壓力。其中應用設計上的分離包含兩類,一類是處理流程的分離,即分離出性能瓶頸過程,降低與其他處理過程的耦合度,以提高其并行處理能力;另一類是處理功能的分離,減少單位硬件平臺上的處理壓力,充分利用硬件平臺及系統軟件的橫向擴展能力,擴展系統整體處理能力。
優化數據結構主要是通過簡化數據結構、刪除冗余結構,實現數據存儲的優化,提升整體處理性能。對數據結構進行簡化,如流水日志存儲的簡化、流水內容的拆分和精簡、字段長度的精簡等,以及對冗余數據結構的適當刪除,如對各類登記簿、流水日志冗余項的刪除,提升數據存儲及使用性能。簡化數據存儲的同時,還需兼顧處理性能設計的其他方面,如有冗余數據存儲要求的處理過程需綜合、全局地考慮其數據結構。
應用軟件處理能力的擴展包括計算資源的擴展和應用軟件處理能力的擴展。計算資源的擴展是基礎,包括主機、存儲、網絡設施等資源;應用軟件處理能力的擴展主要關注如何使應用架構可以平滑適應計算資源的擴展,并能充分利用擴展的處理資源來分擔系統處理壓力,進而達到整體處理能力擴展的目的。
2.可用性保障措施
高可用性是郵儲銀行分布式業務系統重點保證的另一屬性,主要包括應用負載均衡、系統故障隔離、系統流量控制、數據分片等措施。
其中的應用負載均衡設計不同于普通集群架構下采用專用設備或中間件實現交易請求負載分發,而是探索一條相對獨立的應用層實現交易路由控制的管理方法。具體實現機制是,應用層通過管理節點狀態、交易處理情況等信息,采用輪詢負載分發策略,并設置負載因子,由應用軟件實現聯機交易在系統內部各個子系統集群節點間的分發處理,達到節點間交易處理的均衡分派。
系統故障隔離機制可以在應用軟件系統發生故障的時候,將故障造成的危害限制在最小范圍內。通過應用軟件設計中考慮應用服務、應用服務框架的靈活部署,從服務、交易、子系統到渠道層面設置響應的運行開關,通過對開關的控制,可以中止指定應用的運行,實現多角度、多層次的故障隔離。同時,通過對響應服務的啟停,也支持對指定端口服務請求監聽的停止。
系統流量控制基于分布式業務系統的邏輯架構,依據系統、子系統、渠道等不同層面的交易流量、交易狀態和確定的控制策略、控制規則,對系統實施控制。基于應用軟件的邏輯分層結構,在服務請求的統一受理端及處理流程中的關鍵環節中設計響應的流量控制機制,結合相關的設置,將系統流量控制中認為需要拒絕的服務請求直接拒絕,以達到逐層進行流量控制的目的,同時,也保障由于負載過重,新的自動啟動的應用服務可以保持一定的處理流量。
3.一致性保障措施
在一致性保障方面,郵儲銀行的分布式系統主要包含補償機制、SAF機制、對賬與差錯處理等措施。
補償機制是對異常交易帶來的數據不一致進行交易補償。補償機制與前端操作及提示相互配合,首先保障給出正確的收款或不付款提示,以便操作員進行正確的現金實物操作,避免資金風險。從實踐的效果上,補償機制的效果遠遠好于兩階段提交的事務機制。
SAF機制對系統間的通訊異常或處理異常提供交易保障。其中,業務系統支持渠道層系統發來的SAF處理請求,并負責在產品服務流涉及的所有子系統上完成SAF請求的處理。具體策略包括:在交易過程中通過SAF處理機制盡量保證交易的成功;定期針對未完成的SAF處理,自動發起SAF處理;每日日間營業結束后,針對未完成的SAF處理,自動發起SAF處理。
對補償機制、SAF機制仍無法解決的一致性問題,則通過對賬和差錯處理進行進一步補償處理。
分布式業務系統的發展思路
近年來,隨著業務量的持續增長,業務需求響應敏捷性要求的不斷提高,對于分布式系統建設也提出了更高要求。同時,人民銀行副行長范一飛在2017年人行科技工作會上提出“加快架構轉型,打造數字央行”,并指出要堅定不移推動分布式轉型。為此,我們將深入推進分布式業務系統建設,通過引入分布式服務、微服務等新技術框架,借鑒互聯網企業在分布式應用構建中的成功經驗,結合商業銀行業務復雜性、數據強一致性等特點,深化云計算技術應用、擴展國產和開源軟件使用等措施,進一步提升銀行分布式業務系統的能力。
1.建立分布式服務集成架構
分布式服務框架通常提供高性能的通訊機制、分布式的服務尋址路由、統一的SOA治理,相對集中式服務總線機制,分散了路由失效的風險,具備更靈活的動態擴展能力。針對商業銀行分布式業務系統環境,通過在分布式服務框架的基礎上,完善交易一致性保障機制、擴展服務適配功能,構建企業級集成架構,可以在規范全行服務治理的基礎上,實現分布式業務系統的能力提升。郵儲銀行已就分布式服務集成架構進行了研究和實際驗證,并實現了初步的應用,接下來將進一步構建企業級集成架構。
2.建設基于微服務的業務系統
微服務通過多個可以獨立部署、獨立擴展的服務組成大型復雜軟件應用,使每個微服務僅關注于實現一個小的業務能力,從而較好地支持敏捷開發和復雜企業應用交付。就其本質來說就是將大型應用拆分為相對獨立的微服務,采用這一架構模式,對于商業銀行的分布式業務系統,同樣可以帶來更好的松耦合、高內聚特性。郵儲銀行的分布式業務系統已一定程度上融合了微服務的理念,在系統應用層面進行了應用的拆分,后續將通過進一步實現應用的微服務化,建立完整意義上的微服務系統,提升總體敏捷性。
3.進一步深化云計算技術應用
目前,郵儲銀行依托云技術搭建了開發測試環境,并且在渠道層、渠道整合層等生產系統中實現了云計算技術的應用。云計算技術不僅提高了設備利用率、降低了成本,而且增加了系統的彈性,可根據業務的需要靈活地配置,有效地支撐突發性的業務高峰。為進一步發揮云計算技術的優勢,我們將深化應用,逐步實現核心業務系統上云,拓展PaaS、SaaS層應用,進一步構建開發測試云、培訓云、生產前置云、核心系統云、管理云等六大云平臺。
4.進一步拓展國產和開源軟件的應用
目前,郵儲銀行已在PC服務器上全面使用國產Linux操作系統,并且在應用系統中廣泛使用了PostgreSQL、Hadoop、Redis、RabbitMQ等開源數據庫、中間件,同時將多種開源軟件及框架融合到全行的應用開發平臺中,這些軟件的應用降低了總體投入,有效支持了相關應用的高效、穩定運行,同時也提升了科技的自主可控能力。未來,我們不僅在滿足單一業務領域需求的應用系統上延續這一路線,還將在流程整合平臺、組合交易平臺等重要的企業級平臺上深入應用開源軟件,進一步提升銀行的自主可控能力。
5.構建互聯網金融平臺
互聯網應用是分布式架構相對成熟的應用領域,也是許多商業銀行進行分布式架構轉型的切入領域。為了更好地應對互聯網金融日新月異的發展變化,郵儲銀行于2016年開展了互聯網金融專題規劃,從戰略定位、業務發展、運營體系、實施策略與路徑等方面對郵儲銀行互聯網金融領域發展進行了全面描繪。通過這一規劃的落地實施,我們將基于分布式架構模式,構建滿足互聯網金融業務需要的核心應用,推進渠道協同,打造互聯網金融平臺,從“產業互聯網”和“消費互聯網”兩條主線出發,建設互聯網金融生態體系,不斷向產業與金融一體化發展的智慧銀行邁進。
(文章來源:金融電子化雜志)
掃碼即可手機
閱讀轉發此文
ITIL是一套方法論,能為IT服務提供良好的指導思想,將工作中習慣的以技術為
在日切雙附加檔追溯法的基礎上進行時點的控制,可以減少附加檔中的數據量,