分佈式架構模型

轉自:http://www.kafka0102.com/2010/10/350.html 

Scalable System Design Patterns 一文概括了幾種常見的系統設計模式。

配圖很漂亮,我就索性摘過來,推薦感興趣的繼續圍觀其博客。

1、Load Balancer

該模式中,一個分發器基於某種策略確定由哪個worker實例處理請求。應用最好是無狀態的,以使任何一個worker實例都能同等處理請求。大量的網站都會用到負載均衡器這個模式的。

2、Scatter and Gather

該模式中,分發器將請求轉發給多個worker實例,每個worker實例處理完返回給分發器,分發器將worker們返回的結果再加工後再返回給客戶端。以搜索爲例,通常得AS、BS架構就是這種典型模式。

3、Result Cache

承接上個模式,這個模式只是在分發器處理時加了一步查詢結果緩存,這都能算是模式!

4、Shared Space

這個模式還有個更廣泛的名字–“黑板模式”。實現來說,就是在處理流程中,存在一個全局傳遞的對象,它可能包含了請求參數、中間狀態、響應結果等各種信息,供流程中的各個組件對其進行操作。在一些web框架和應用框架中,都可見這個模式的使用。

5、Pipe and Filter

這個模式又以“面向數據流編程”知名,是很通用的企業集成模式。

6、Map Reduce

因爲google和hadoop,這個模式幾乎都瞭解些,儘管多數人都沒親身應用過。

7、Bulk Synchronous Parellel

該模型基於一個master協調,所有的worker同步(lock-step)執行。
該模式被用於Google Pregel Graph Processing  google-pregel-graph-processing 和Hama

8、Execution Orchestrator

又一個不很瞭解的模式,似乎是一個和map reduce有一拼的分佈式計算模型,似乎是微軟的創造:Microsoft’s Dryad project


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