多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現

前言

由計算機組成的網絡無處不在,現如今我們的日常生活已經被各種不同類型的網絡包圍,如電話網絡、企業網絡、家庭網絡以及各種類型的局域網,共同構成了我們稱之爲Internet的網絡。因此,我們可以斷言Internet是由各種不同類型、不同地區、不同領域的網絡構成的互聯網。我們可以發現,互聯網並沒有集中式的控制中心,而是由大量分離且互聯的節點組成的。這正是一個分散式的模型。我們可以把這個概念類比到即將講解的分佈式概念上。

分佈式概念是在網絡這個大前提下誕生的。傳統的計算是集中式的計算,使用計算能力強大的服務器處理大量的計算任務,但這種超級計算機的建造和維護成本極高,且明顯存在很大的瓶頸。與之相對,如果一套系統可以將需要海量計算能力才能處理的問題拆分成許多小塊,然後將這些小塊分配給同一套系統中不同的計算節點進行處理,最後如有必要將分開計算的結果合併得到最終結果,那麼就將這種系統稱爲分佈式系統。對於這種系統來說,我們會採用多種方式在不同節點之間進行數據通信和協調,而網絡消息則是常用手段之一。

通過以上描述,我們基本可以認爲,一套分佈式系統會使用網絡上的硬件資源和軟件組件進行計算,而各個計算節點間通過一定方式進行通信。這是從計算機科學的角度簡單概述了分佈式系統的概念。

如果我們從網絡這個關鍵因素考慮,我們可以將計算分攤到網絡中不同的計算節點,充分利用網絡中的計算資源,而這些節點可能存在於不同的區域中,在空間上存在一定距離。雖說這種解釋不那麼正式,但也從另一個角度上生動地闡述了分佈式的基本特性,即節點分佈。

正文

本書以最基本的雲計算與大數據概念作爲引子,逐步引入高性能分佈式實時處理系統編程所需要的知識,抽絲剝繭地把有關實時處理系統的架構以及內部實現娓娓道來。

第1章 介紹分佈式系統的一些基本概念,以及開發實時處理系統所需要具備的一些重要知識點。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第2章 介紹分佈式系統通信基礎,包括TCP/IP以及Socket方面的基本概念,爲後續開發網絡庫Meshy做知識儲備。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第3章 介紹分佈式系統通信所需的高層抽象,包括RPC遠程過程調用、RESTful.消息隊列等常用的通信模型。同時介紹基本的序列化概念與解決方案,並使用Thrit開發簡單的公告牌服務,爲Hurricane的開發建立通信抽象與框架上的基礎概念。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第4章 介紹C++高性能編程所需的基礎與進階知識,包括C+ +中的內存資源管理、編碼解決方案、併發與異步處理以及內存管理技巧,以及C++11中與內存管理、編碼處理、線程模型相關的內容。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第5章 介紹分佈式處理系統的基本概念,包括批處理與實時處理的區別,Hadoop與Storm的基本介紹及基本模型。最後介紹可靠消息處理的基本思想。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第6章 介紹實時處理系統的總體架構與接口設計,包括消息源、消息處理器、數據收集器、元組以及序列化接口。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第7章 介紹服務組件的設計與實現,包括Executor及其消息隊列、動態裝載以及Task的設計與實現等。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第8章 介紹管理服務的設計與實現,其中包括集羣管理器President以及節點管理器Manager的架構設計與編程實現。

多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


第9章 介紹實時處理系統中各部分接口的實現,包括消息源、消息處理單元以及數據收集器的實現。


多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


由於平臺篇幅限制,同時也爲了大家更好的閱讀,小編把分佈式相關的資料都整理好了,有感興趣的朋友可幫忙轉發文章後,關注私信 回覆【學習】來獲取


多位大數據專家聯袂推薦:分佈式實時處理系統—原理、架構與實現


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章