首页IT科技分布式计算技术主要包括哪些(《分布式技术原理与算法解析》学习笔记Day14)

分布式计算技术主要包括哪些(《分布式技术原理与算法解析》学习笔记Day14)

时间2025-07-30 21:04:09分类IT科技浏览7986
导读:分布式计算模式:Stream...

分布式计算模式:Stream

什么是流数据? 实时性任务主要是针对流数据处理                ,对处理时延要求很高                        ,通常需要常驻服务进程        ,等待数据的随时到来随时处理            ,以保证低时延                。

流数据有4个特征:

数据如流水般持续                、快速到达                        。 海量数据规模                        ,数据量可以达到TB或者PB级别        。 对实时性要求高            ,随着时间流逝        ,数据的价值会大大降低            。 数据顺序无法保证                        。

流计算一般用于处理数据密集型应用                        ,它实时获取来自不同数据源的海量数据                ,进行实时分析处理    ,获得有价值信息            。

使用流计算进行数据处理                        ,包括3个步骤:

提交流式计算作业        。系统再运行期间                    ,由于收集的是同一类型的数据,执行的事同一种服务                    ,因此流式计算作业处理逻辑不可更改                        。如果用户停止当前作业运行后再次提交作业                        ,由于流计算不提供数据存储服务    ,因此之前已经计算完成的数据无法重新再次计算                。 加载流逝数据进行流计算    。流式计算作业一旦启动将一直处于等待事件出发的状态                ,一旦有小批量数据进入流逝数据存储                        ,系统会立刻执行计算逻辑并得到结果                        。 持续输出计算结果                    。在得到小批量数据的计算结果后        ,流计算会立刻将结果数据写入在线/批量系统            ,无需等待整体数据的计算结果。

详细的流程如下                    。

流计算不提供流式数据的存储服务                        ,数据是持续流动的            ,在计算完成后会立刻丢弃                        。流计算适用于需要处理持续到达的数据流        ,对数据处理有较高实时性要求的场景                        ,为了及时处理流数据                ,流计算框架必须是低延迟                        、可扩展        、高可靠的    。

Apache Storm和MapReduce有什么区别?

Hadoop上运行的是“MapReduce作业                ”    ,Storm上运行的是“计算拓扑                        ”                。MapReduce的一个作业在得到结果之后会结束                        ,而计算拓扑在没有杀死进程前会一直运行                        。

Storm集群包括两种节点:主节点和工作节点:

Nimbus是整个Storm集群的守护进程                    ,以唯一实例的方式运行在主节点上        。它负责把任务分配和分发给集群的工作节点,并监控这些任务的执行情况                    ,当某个节点故障时                        ,它会重新将分配到该节点的任务转到其他节点            。 Supervisor是Storm集群中的工作守护进程    ,每个工作节点都存在一个这样的实例                        。它通过ZooKeeper和Nimbus守护进程通信            。

Storm的结构图如下        。

Storm为数据流转换提供了基本组件Spout和Bolt:

Spout主要用于接收源数据                ,它会从一个外部的数据源读取数据元组                        ,然后将它们发送到拓扑中                        。 Bolt负责处理输入的数据流        ,数据处理后可能输出新的流作为下一个Bolt的输入                。每个Bolt通常只具备单一的计算逻辑            ,复杂的数据流转换通常需要使用多个Bolt并通过多个步骤完成    。

流计算和批量计算有什么区别?

它们有各自的适用场景                        。批量计算适用于对时延要求低的任务                        ,流计算适用于低延时            、易扩展的场景            ,例如直播中音视频的处理                    。

下面是流计算和批量计算的详细比较。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win10的虚拟内存怎么改(win10专业版虚拟内存怎么设置 虚拟内存设置成8g的操作步骤) 邯郸市邯山区附近招聘信息(邯山区新闻网最新消息)