课程链接:阿里云大学_分布式系统开发-调度技术
海量数据如何并发处理?
这就是分布式任务调度所要解决的问题
举个栗子:
如何快速的做出大量的热狗?

如果将每一个一个热狗按流程做的话,可见工作量会十分巨大而且效率低下
MapReduce实例
Google的传奇大神Jeff Dean借鉴函数式编程的思想,提出了MapReduce解决方案,其核心思想其实很简单:
- 对任务按需求切分成多个子任务
- 对每一个子任务做mapping映射操作,得到一个中间态结果
- 再对所有的中间态结果进行reduce合并,得到最终结果

我们换个角度理解MapReduce操作:
- 做热狗时,会有多个厨师分别把不同的原材料切好,这一步叫mapping操作,至于切成什么样可不是随便的,这要由问题的解空间决定,比如要做热狗,就要把面包切两半,而不是碾成面包糠,要把黄瓜切成片,而不是切成块
- 还会有一些厨师,按照一定的比例,将处理好的原材料组装成最终的热狗,这一步叫做reducing操作
关于MapReduce,有一个非常经典的案例就是Wo

本文探讨了如何通过分布式任务调度处理海量数据,以MapReduce为例阐述其工作原理,并介绍了阿里飞天任务调度系统,包括App Master和App Worker的角色。文章还讨论了任务调度的关键技术,如数据Locality、数据Shuffle和Instance的错误处理策略。
最低0.47元/天 解锁文章
1768

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



