分佈式計算框架

摘要:本文介紹銀行分佈式架構中的分佈式計算框架內容。

分佈式文件系統,實現了分佈式架構中大量數據的存儲實現。那麼這麼多的數據只是實現了存儲還是遠遠不夠的,要對數據進行“計算”才能讓數據“活”起來。

分佈式計算是把網絡上分佈的資源匯聚起來,完成大規模的、複雜的計算和數據處理任務。分佈式計算以分佈式的方式把巨大的計算任務分割成許多足夠小的單元,每個單元可以在單機能夠承受的條件下執行,降低了單個節點配置要求的同時,大幅提升計算併發度和計算效率。

目前,狹義的分佈式計算框架是指“Google的Map/Reduce並行計算框架”。Ma-pReduce框架採用函數式編程思想,把一個計算分成Map和Reduce兩個計算過程,利用一個輸入key・value對集,來產生一個輸出key-value對集。顧名思義,Map就是將一個任務分解成多個小的子任務,然後把每個小的計算任務分配給集群各個計算節點,並一直跟蹤每個計算節點的進度決定是否重新執行該任務,Reduce就是最後收集每個節點上的計算結果彙總獲得最終計算結果並輸出。

MapReduce模型適用於大規模、可併發的任務處理,可以處理大量結構化、半結構化和非結構化數據,但該模型任務處理的實時性並不高,這主要是由於計算過程中需要大量分佈式數據訪問。一些框架(如Spark)將緩存引入到分佈式計算框架,採用基於彈性分佈式數據集的內存分佈式並行計算框架,通過對數據進行緩存,減少數據重複加載時間,提高整體計算效率。相比於傳統MapReduce框架,該框架更適用於迭代較多的機器學習和數據挖掘運算。

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


分享到:


相關文章: