您的位置:首页 > 其它

8 Commonly Used Scalable System Design Patterns

2010-12-03 12:33 351 查看
http://highscalability.com/blog/2010/12/1/8-commonly-used-scalable-system-design-patterns.html

 

Ricky Ho
in Scalable System Design Patterns
has created a great list of scalability patterns along with very well done explanatory graphics. A summary of the patterns are:

Load Balancer
- a dispatcher determines which worker instance will handle a request based on different policies.

Scatter and Gather
- a dispatcher multicasts
requests to all workers in a pool. Each worker will compute a local
result and send it back to the dispatcher, who will consolidate them
into a single response and then send back to the client.

Result Cache
- a dispatcher will first lookup if
the request has been made before and try to find the previous result to
return, in order to save the actual execution.

Shared Space
- all workers monitors information
from the shared space and contributes partial knowledge back to the
blackboard. The information is continuously enriched until a solution is
reached.

Pipe and Filter
- all workers connected by pipes across which data flows.

MapReduce
-  targets batch jobs where disk I/O is
the major bottleneck. It use a distributed file system so that disk I/O
can be done in parallel.

Bulk Synchronous Parallel
 - a  lock-step execution across all workers, coordinated by a master.

Execution Orchestrator 
- an intelligent scheduler /
orchestrator schedules ready-to-run tasks (based on a dependency graph)
across a clusters of dumb workers.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息