课程链接:阿里云大学_分布式系统开发-调度技术
海量数据如何并发处理?
这就是分布式任务调度所要解决的问题
举个栗子:
如何快速的做出大量的热狗?
如果将每一个一个热狗按流程做的话,可见工作量会十分巨大而且效率低下
MapReduce实例
Google的传奇大神Jeff Dean借鉴函数式编程的思想,提出了MapReduce解决方案,其核心思想其实很简单:
- 对任务按需求切分成多个子任务
- 对每一个子任务做mapping映射操作,得到一个中间态结果
- 再对所有的中间态结果进行reduce合并,得到最终结果
我们换个角度理解MapReduce操作:
- 做热狗时,会有多个厨师分别把不同的原材料切好,这一步叫mapping操作,至于切成什么样可不是随便的,这要由问题的解空间决定,比如要做热狗,就要把面包切两半,