大数据处理之Lambda架构和Kappa架构
所属分类 architecture
浏览量 1570
Lambda 架构
由Storm的作者Nathan Marz提出,设计目的在于提供一个能满足大数据系统关键特性的架构,包括高容错、低延迟、可扩展等。
整合离线计算与实时计算,融合不可变性、读写分离和复杂性隔离等原则,可集成Hadoop, Kafka, Spark,Storm等大数据组件。
可分解为三层Layer,即Batch Layer, Real-Time(Speed) Layer和Serving Layer。
Batch Layer 用于离线计算
Speed Layer 处理增量数据
Serving Layer 合并Batch和speed layer 中的结果数据集得到最终数据集
speed view batch view
适用场景 逻辑比较复杂且要求延迟比较小 ,比如搜索引擎、推荐引擎等
Kappa 架构
由LinkedIn的Jay Kreps提出,用于替换 Lambda 架构
Lambda 架构的问题 需要维护两套代码 批处理 和 流处理
直接让流系统来处理全量数据 分布式 扩展性
使用流计算对全量数据进行重新计算的过程
1 用Kafka或类似的分布式队列保存历史数据
2 全量计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出保存结果。
3 当新的实例完成后,停止老的流计算实例,并删除老的结果
上一篇
下一篇
程序员之歌之燃烧我的计算机
IT工程师的八荣八耻
目录大小统计du命令实战
es和关系数据库简单对比
努力做一个懂生活的人
rpm和yum的区别和联系