原文链接:http://www.javaarch.net/jiagoushi/1027.htm
在系统可扩展性方面常用的8个设计模式
1.Load Balancer 负载均衡 分发器根据一定的规则将请求发送到某个工作示例处理
2.Scatter and Gather 分散聚集模式 分发器将请求分发到线程池中多个线程,每个线程计算本地线程结果后发回分发器,分发器合并结果后返回。
3.Result Cache 结果缓存 分发器会先查下请求是否已经缓存,如果被缓存过并且没过期则直接返回缓存中的结果,
4.Shared Space 共享空间 所有工作者线程通过共享空间共享数据,共享数据是为了协调各个线程的并发和数据分隔任务分隔问题。
5.Pipe and Filter 管道过滤器模式 所有的工作者用管道连接起来,数据流通过管理中的过滤器顺序执行
6.MapReduce 使用分布式文件系统来解决单个磁盘的IO问题
7.Bulk Synchronous Parallel 批量同步并行模式 基于master机器的锁机制来协调各个工作者线程并行执行
8Execution Orchestrator 执行协调器 任务管理和分发的协调器,用于将任务争取分发都各个工作者线程执行