S4
采用Mapreduce和Actor模型进行实时数据的计算;
S4.png
Storm
采用了拓扑结构,进行数据处理,定义处理流程,Strom用于集群之间的通信,故障的处理,还有维护集群的拓扑关心;数据源Spout,处理着bolt,据传输的tuple;拓扑的设计做到算法和框架的交互;
storm.png
数据传输tuple的载体;
传输的分发厕所及模式
Spark
它是一个基于共享内存的流处理引擎,核心是RDD高度受限的共享内存模型;将一个数据流分解成短小的批处理作业;
spark.png
三大节点
前端处理节点frontend 控制节点master 工作节点backend
四个模块
前端调度模块 调度模块 工作节点模块 资源管理模块
场景
实时计算 批次计算 响应式查询
设计
分布式设计
前端处理节点frontend 控制节点master 工作节点backend
流式计算设计
流式数据进入的数据管道
流程式设计
每一个工作节点的流程规划;
模块
前端节点处理模块:负责流程任务启动前的准备工作,以及工作节点数据流的输入。
通信模块:通过Akka支持的Actor模型的通信机制特点设计,其主要的通信包括有:前端
和调度模块的通信,调度模块和工作节点的通信,工作节点之间的通信。
节点控制模块:主要负责节点资源的控制管理与分发。
后台工作节点处理模块:负责后台实际任务的并发执行和对数据流的计算处理。
Akka容错
Actor工作节点有良好的监控,提供了默认监管策略;对子Actor进行处理,主要动作:
1.停止发生错误的子Actor,
2.重启发生错误的子Actor
3将错误升级到其父Actor处理。如果最终配置的子Actor是交给了根监管者Actor,此时根监管者会按照配置默认的策略处理。
实时数据和历史数据,mapreduce对于流式数据计算的缺点,mapreduce的优点
资源搜索
搜索引擎应对与静态数据,Dataflow流式计算框架,应用于变化频率比较大的动态数据;'
分布式系统设计
系统之间的通信,模块的划分,任务的调度,数据的备份,节点的挂了的处理;
网友评论