天天看點

分享:Scalable System Design Patterns

本文來自:http://www.kafka0102.com/2010/10/350.html

Posted in architecture on 十月 17th, 2010 by kafka0102

Scalable System Design Patterns 一文概括了幾種常見的系統設計模式。配圖很漂亮,我就索性摘過來,推薦感興趣的繼續圍觀其部落格。

1、Load Balancer

該模式中,一個分發器基于某種政策确定由哪個worker執行個體處理請求。應用最好是無狀态的,以使任何一個worker執行個體都能同等處理請求。大量的網站都會用到負載均衡器這個模式的。

分享:Scalable System Design Patterns

2、Scatter and Gather

該模式中,分發器将請求轉發給多個worker執行個體,每個worker執行個體處理完傳回給分發器,分發器将worker們傳回的結果再加工後再傳回給用戶端。以搜尋為例,通常得AS、BS架構就是這種典型模式。

分享:Scalable System Design Patterns

3、Result Cache

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

分享:Scalable System Design Patterns

4、Shared Space

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

分享:Scalable System Design Patterns

5、Pipe and Filter

這個模式又以“面向資料流程式設計”知名,是很通用的企業內建模式。

分享:Scalable System Design Patterns

6、Map Reduce

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

分享:Scalable System Design Patterns

7、Bulk Synchronous Parellel

該模型基于一個master協調,所有的worker同步(lock-step)執行。

該模式被用于Google Pregel Graph Processing  google-pregel-graph-processing 和Hama。

分享:Scalable System Design Patterns

8、Execution Orchestrator

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

分享:Scalable System Design Patterns

繼續閱讀