8个常用于可扩展系统的设计模式

1,负载均衡 – 把一个请求按一定hash算法或规则分配到服务器组中的一台去处理,以分担单个服务器的压力。这一般多见于大型网站的构架。

2,分头收集(Scatter and Gather) –  把一个请求分解成好几个服务请求分发到多个server上,每个server处理后返回的结果会被合并成一个返回结果给请求端。 常见于搜索引擎如google,百度,搜狗,对一个关键词的搜索结果是由多台server处理并合并成一个搜索结果页。
3,结果缓存 – 服务器缓存某个请求的结果,下次对同样的请求只返回缓存的结果就ok了,而避免下次同样的请求进来时去做重复的计算。Memcached就是做这个用的。

4,空间共享 – 分布式计算常用的模式,所有的数据、对象都放在一个共享虚拟空间,所有的计算进程共享并控制这些数据。


5,管道过滤
 – 所有的请求都先进入某个管道,然后以先进先出的方式接受处理和返回结果。有点似曾经写的投票,推荐这样的应用时的处理方式。

6,MapReduce –  在处理批量任务时,如果磁盘I / O是主要瓶颈,则一般采取这种模式。它的使用分布式的文件系统,从而使多个I/O操作能够并行。这种模式在谷歌的内部应用程序中使用的较多,开源的Hadoop就是个典型案例

7,批量同步并行 –  该模式下的所有任务是基于锁步执行,由Master来协调。每个任务重复以下步骤,直到再没有活跃的任务。
每个任务从输入队列中读取数据
每个任务根据自己读取到的数据进行处理
每个任务将自己的处理结果直接返回

8,Execution Orchestrator - 该模型是基于一个智能调度的任务分配,还没太弄明白。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值