第 5 章 分布式计算
崔皓
在介绍本章内容之前,先回顾一下前面的内容。分布式系统需要将应用服务分别部署在不同的服务器以及网络中,从而提高整个系统的性能和可用性。第 2 章介绍了如何拆分应用服务,第 3 章介绍了拆分以后的应用服务如何相互调用,第 4 章介绍了应用服务之间如何协同工作。实际上应用服务拆分、调用、协同都是为了交换和计算信息,从而更好地服务客户,而分布式计算是其中非常重要的一部分。由于业务在不断发展,信息系统中积累了大量的数据,为了处理这些数据,计算机需要调动大量的计算资源。在单机时代,这些计算资源集中在单个服务器上,到了分布式时代,单个服务器资源已经无法满足海量数据的计算,因此要通过分布在不同网络节点上的计算资源来完成信息的计算工作。如果把用户输入的数据和想要得到的结果比作一条河的两岸,那么分布式计算就是连接两岸的桥梁,也是计算问题和解决方案之间的桥梁。针对静态数据和动态数据的处理,本章会依次介绍分布式计算的两种模式,分别是 MapReduce 模式和 Stream 模式。
5.1 MapReduce 模式
MapReduce 模式起源于 2004 年 Jeff Dean 和 Sanjay Ghemawat 发表的论文“MapReduce:Simplified Data Processing on Large Clusters”。此后,Nutch 系统实现了分布式 MapReduce 框架,但随着时间的推移,Hadoop 从 Nutch 中独立出来,并成为 Apache Foundation 的顶级项目。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入介绍了分布式计算和 MapReduce 模式的重要性、原理和应用。首先详细解析了 MapReduce 的策略、理念和工作流程,包括 Map 阶段和 Reduce 阶段的执行步骤,以及 Map Shuffle 过程中的操作。同时对比了 Stream 模式与 MapReduce 模式的区别,强调了 Stream 模式在处理动态数据和实时计算方面的重要性。此外,还介绍了 Storm 的体系结构与工作原理,包括 Tuple、Stream、Spout、Bolt 和 Topology 等概念,以及 Storm 的并发机制和 Stream Grouping 实现方式。最后,详细介绍了 Storm 集群架构,包括 Nimbus、Supervisor、ZooKeeper 构成的工作流程。整体而言,本文全面介绍了分布式计算和 MapReduce 模式的重要性、原理和应用,对于想要深入了解分布式计算技术的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式架构原理与实践》
《分布式架构原理与实践》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论