前言
在上一篇文章我们知道了单机存不下数据的主要原因是文件数量太多,最终也知道了存储分布式化是基于分治思想实现的,解决了单台机器存储能力有限的问题,我们本篇就来聊聊分布式系统要解决的另一个主要问题:单台机器运算能力不足。
这是系列文章的第三篇,阐述分布式系统如何将运算分布式化。在本系列文章开篇中提到,我们提高机器算力的最初方案是将运算并行化:多线程->多进程->多协程,只不过这种并行方案只能作用在单台机器上,对算力的提升有限,在任务量足够大的情况下依然会把单台机器压垮,于是我们就采用分布式系统,将单机的运算负荷转到多机,即运算分布式化,来提高总体算力。
运算分布式化的本质
运算分布式化,就是将运算任务分散到多台机器,共同协作完成运算任务,这个策略不正是“分而治之”嘛,体现的依然是分治思想,所以运算分布式化本质上也是基于分治思想来实现的。
运算任务量大在哪
如同分情况来讨论单机存储数据量大的原因一样,我们可以先分情况讨论运算任务量大的原因:
- 运算任务总数量多
- 单项运算任务量大
这两种情况都有可能。解决方案也很容易想到:
- 当运算任务总数量多时,可以将多个任务分散到各台机器,每台机器负责完成部分任务

2. 当单项运算任务量大时,可以将单项任务拆分为多项子任务分散到各台机器完成,再将多项子任务的结果汇总,就成了单项任务的总结果

最低0.47元/天 解锁文章
1125

被折叠的 条评论
为什么被折叠?



