核心銀行系統是銀行信息化建設的核心,是銀行為客戶提供金融服務、創造銀行經營價值、履行社會責任的基石。過去我國大型銀行的核心銀行系統大多基於主機技術,採用集中式架構建設。主機強大的計算能力與高穩定性,支撐了本世紀初各家大型銀行信息系統由省域集中到全國集中的升級,促進了銀行業務的創新和發展。
近年來隨著 IT 技術爆發式的發展,尤其是移動網際網路、大數據、人工智慧、區塊鏈和雲計算等技術的逐步成熟,銀行業務在渠道、產品、營銷、運營和風控等方面都在發生著深刻的變革,產品迭代的速度越來越快。基於大型主機技術構建的集中式架構的核心銀行系統日益面臨挑戰,主要表現在以下幾個方面:
1. 技術創新 - 從技術發展的角度來看,分布式技術近十年有長足的進步,在處理海量業務的能力方面已經得到了充分的驗證。其開放的生態體系,蓬勃的開源社區,更是使得大量優秀的基礎框架、平臺、工具得以沉澱。
『大智移雲區』這些以分布式技術為基礎的金融科技的發展,對銀行業務模式帶來的深刻改變正在逐步顯現。移動互聯改變了銀行的觸達客戶的方式,推動了開放生態與網點轉型。大數據與人工智慧的運用極大提高了銀行處理數據、分析數據的能力,智能營銷、智能風控、智能信貸的發展將交易成本和信息不對稱逐漸降低,使得原來不可能的交易成為可能,推動普惠金融發展,為更多人提供金融服務。區塊鏈技術作為價值網絡,在跨境清算、供應鏈金融等領域應用前景廣闊。而主機封閉的技術體系,難以分享開源的紅利,與金融科技的集成也困難重重,制約了技術的創新運用。另外,自主可控也是主機體系難以解決的問題。
2. 快速交付 - 隨著利率市場化的推進,市場參與主體的多元化與客戶認知的改變,導致市場競爭加劇。因此業務上對快速推出金融產品,靈活進行產品運營的需求越來越強烈,這就要求儘可能的縮短產品研發的交付周期。集中式架構模塊間耦合性高,靈活升級難度大,龐大的單體應用,影響軟體版本發布和交付效率,使得產品交付周期較長。
3. 成本控制 - 銀行業集中式核心銀行系統基本都採用 IBM 大型主機作為基礎構建,IBM 形成事實上的壟斷,銀行議價能力較低。主機運營、擴容、升級換代的成本投入相比開放平臺十分昂貴(每年運營費用就要投入幾億元,擴容與升級換代每個計算單元要數千美金,一般大型銀行都有上萬個計算單元的規模)。隨著基於開放平臺的分布式架構逐漸成熟,採用大規模的開放平臺伺服器取代主機,在高可用性方面已經不再受到局限,而在資源的有效調配與成本節約方面更具優勢。因此,降低主機運行成本已經成為銀行面臨的一大挑戰,各家銀行核心系統普遍向更低成本的架構轉型。
4. 資源彈性 - 銀行運營手段日益多樣,各促銷秒殺類活動成為常態,大量業務請求經常集中在短時間內爆發。另外銀行作為基礎設施,更是在背後承擔了『618』、『雙11』這樣電商狂歡的海量資金處理業務。面對這些秒殺類業務,潮汐式訪問時,基於主機的集中式架構難以彈性伸縮、靈活調配資源,造成昂貴主機資源在非高峰期的大量閒置,系統的服務保障與資源的充分利用之間存在難以調和的矛盾。
5. 運行風險 - 移動金融的發展使金融服務深入生活場景,銀行服務渠道呈現多渠道、移動化和全天候的特徵,銀行核心業務系統要做到365天×24小時的不間斷運行。同時,由於銀行經營服務在社會經濟運行中的特殊性質,監管部門對銀行核心業務系統的穩定運行提出了極其嚴格的要求。在集中式架構下,高度集中的核心銀行系統帶來風險點的集中。雖然主機採用了並行架構,高可用能力很強,但一旦發生故障,影響範圍巨大,這對銀行核心系統的可用性帶來巨大的挑戰。
一、分布式架構
為了應對上述挑戰,核心銀行系統面臨集中式的單體架構轉型的問題。從當前技術的成熟度與發展趨勢看,分布式架構能夠較好地解決上述問題,契合銀行核心業務系統的發展要求,因此分布式的服務化架構成為各家銀行不約而同的選擇。
1. 體系開放 - 在硬體上,分布式架構採用開放標準,多家廠商生產,設備通用性好,可相互替換。在軟體上,分布式架構中的大量主流技術發源於開源社區,各大廠商、科技公司、行業用戶廣泛參與,功能完善較快,很多技術在大規模的生產環境得到了檢驗。同時,這些軟硬體由於體系開放,具有較好的自主可控性。
2. 成本低 - 分布式架構由於大量使用了X86伺服器和開源技術,服務供應商可選擇範圍大,可以大幅度地降低基礎設施成本的投入。同時,由於相關技術都是當前業界的主流技術,更有利於人力資源的調配與優化。
3. 鬆耦合 - 核心銀行系統由集中式向分布式轉型的過程中,必然要對原有系統進行服務化拆分。拆分時以領域模型進行驅動,對系統按照業務域進行拆分。拆分時應遵循『服務自治』原則,即一個拆分出來的服務應對其範疇內的業務邏輯、數據與存儲完全負責,服務與服務之間通過接口進行交互。這樣高內聚、低耦合的架構便於快速響應業務需求,對某個服務進行迭代。
4. 擴展性強 - 分布式架構中,橫向上應用伺服器通過集群與負載均衡技術進行大規模擴展,資料庫採用讀寫分離、分庫分表、多副本等技術進行擴展。縱向上,根據業務功能進行拆分,便於根據運行需要,對某個服務的部署資源進行彈性伸縮。多種擴展方式,充分滿足了處理性能的需要。另外應用的集群化、資料庫的拆分與多副本的運用,這些方法通過冗餘來彌補單個節點的可靠性不高的問題,也使得系統整體的高可用得到保障。