銀行分佈式架構

摘要:近年來,隨著移動互聯網、物聯網、大數據、雲計算等為代表的新興技術的迅速發展和廣泛應用,對應用系統的訪問量、響應速度、複雜程度都提出了更高的要求。隨著數據量的激增,大數據也已經滲透到電信、金融等諸多領域。不可否認,這些新興技術的確能增加企業知識財富的固有價值,但同時也使其當前的IT技術架構面臨極大壓力,在這種背景下,分佈式架構受到越來越多的關注,應用範圍逐步擴大。

1.分佈式架構體系

分佈式架構是一套構建系統的準則。通過這套準則,可以把一個複雜的系統劃分為一套簡單子系統的集合,子系統之間應該保持相互獨立,並與整個系統框架保持一致。而且每個子系統還可以繼續細分,從而構成一個複雜的企業級架構。構建企業級軟件系統時,除了要考慮系統架構及其應具有的功能以外,還要關注整個架構的可用性、可靠性、性能、重用性、安全性、擴展性、容錯能力以及管理維護等各個相關方面。

傳統集中式架構,其並行能力是由服務器決定的,也因此受到服務器的制約,要提高應用處理能力,必須升級服務器配置,例如增加服務器的CPU核數或內存容量,而一旦服務器的所有CPU或內存槽位插滿,這臺服務器上的應用系統能力就定格了,無法繼續提升,除非換用更為強大的服務器。

採用分佈式無狀態的SOA化架構構建金融應用系統,可以使應用的並行處理能力可無限擴展。

分佈式是指每個應用都是集群化部署的,集群中每個節點都運行在輕量、廉價的應用容器中,節點的數量可以任意變化,根據當前對應用的處理能力要求,可以任意增加或減少節點。所有節點集合在一起,對外提供一個邏輯上的“服務器”,因為節點數可隨意增加,這個邏輯“服務器”的CPU核數、內存容量是可以無限擴展的。

分佈式的另一層含義是一個金融系統的服務能力不是由一個應用提供的,而是由數個、數十個、甚至成百上千個應用協同在一起共同提供的,應用間服務調用的形式互相溝通與協調,這就是所謂的SOA化架構(Service Oriented Architecture)。SOA使得每個應用可以關注自己的核心邏輯,應用之間通過簡單、精確定義的服務接口進行交互,形成高內聚、低耦合的系統架構。基於SOA可以更容易構建出分層的、健壯的應用系統。

在此基礎上,為了使應用真正可無限擴展,每一個應用都應該是無狀態的,即應用程序在運行時只執行邏輯,不在內存中存儲狀態。這就意味著任何一個應用的任何一個節點發生故障了,可以直接將其下線,不必擔心數據丟失。如果應用容量不足,需要擴容,新增加的節點啟動後可以立刻開始提供服務,不需要執行預熱和數據準備。

互聯網架構體系提供了一套應用開發框架,基於此框架可以用很少的代碼開發出具有SOA風格的應用系統,開發者只需要關注應用本身的業務邏輯,而不需要關心如何發佈或調用一個服務。

另外,其提供的發佈部署功能,能夠自動化、簡單的在數量眾多的服務器上部署大量應用程序,這就讓分佈式應用系統的運維變得很簡單。

從應用的角度來區分,分佈式架構又分為支持分佈式分析系統架構和分佈式交易系統架構兩類。針對這兩類應用的不同特點,分佈式架構有不同的架構方式。

分佈式架構體系有8個子項目,它們分別是分佈式文件系統、分佈式計算框架、分佈式數據庫、分佈式緩存、分佈式協作服務、資源調度與管理、分佈式序列化和分佈式監控管理(分佈式日誌系統)。

要全面理解這些子項目是如何相互運作協調的,並不是一件非常容易的事情,組成分佈式架構的這些組件,他們既相互依賴不可分割,又具有各自獨特的原理。以下將分別介紹分佈式架構的各個主要組成部分。

說明:(1)文中的配圖大多來自互聯網上授權圖片提供商,並已獲得免費使用授權,如果文中內容或是圖片侵犯到您的權益,請及時告訴我。(2)本文主要內容來自王漢民等著由機械工業出版社出版的《銀行信息系統架構》一書,本文主要目的是學習金融行業知識,如果您想了解更多內容,請購買原版圖書。如果文中內容侵犯到您的權益,請及時告訴我。


分享到:


相關文章: