网站首页 > 精选教程 正文
大家好,我是mikechen。
大数据架构是大型架构的必备技能,也是大厂经常使用的,下面我就全面来详解大数据Lambda架构@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
lambda架构
Lambda架构是一种用于构建大规模数据处理系统的架构模式,它结合了批处理和实时流处理以应对不同种类的数据处理需求。
lambda架构的作用
Lambda架构的目标是允许数据工程师有效地处理大量数据,包括批量数据和实时数据,并提供一致的查询结果。
lambda架构的组成
Lambda架构三层,主要包含如下组件:
1.批处理层(Batch Layer)
批处理层:负责处理离线或批量数据,这一层通常使用分布式计算框架(如Hadoop)来处理大规模数据集。
比如:执行复杂的数据转换、计算和聚合操作。
批处理层生成批量视图(Batch Views)或批处理视图,这些视图是基于批量数据计算得到的结果。
2.实时处理层(Speed Layer)
实时处理层负责:处理实时数据流,这一层通常使用流处理框架,比如:Apache Kafka、Apache Flink,或Apache Stor)来处理数据流。
执行实时计算和聚合操作,实时处理层生成实时视图(Real-time Views)或实时处理视图,这些视图是基于实时数据流计算得到的结果。
3.合并层(Serving Layer)
合并层负责将批处理层和实时处理层生成的视图合并为一致的查询结果。
这一层通常使用分布式存储系统(如HBase或Cassandra)来存储视图,并为用户提供查询接口。
合并层的任务包括数据同步、视图合并和查询处理。
lambda架构优缺点
优点:
- 可伸缩性:Lambda架构允许水平扩展批处理和实时处理层,以处理不断增长的数据量。
- 容错性:Lambda架构具有高度容错性,可以处理硬件故障和其他故障情况。
- 灵活性:它支持不同种类的数据处理需求,包括批处理和实时处理。
- 数据一致性:通过合并层,Lambda架构提供一致的查询结果,无论是批处理视图还是实时视图。
缺点:
- 复杂性:Lambda架构引入了多层次的处理和管理,增加了系统的复杂性和维护成本。
- 延迟:由于数据要经历批处理和实时处理两个阶段,可能会引入一些延迟,特别是在合并数据时。
- 学习曲线:Lambda架构要求开发人员熟悉多个技术栈和组件,因此学习曲线较陡。
lambda架构常用部件
批处理引擎:通常使用Hadoop生态系统中的工具,如Hive、Pig或Spark,用于批处理数据。
实时处理引擎:常用的流处理框架包括Apache Kafka、Apache Flink、Apache Storm等。
存储系统:用于存储批处理和实时处理层生成的视图数据,例如HBase、Cassandra、Elasticsearch等。
合并层:负责将批处理和实时处理层的结果合并为一致的查询结果,通常使用查询引擎和API实现。
Lambda架构总结
Lambda架构是一种强大的数据处理模型,适用于需要同时处理批量和实时数据的大规模数据应用程序。
它允许应对多种数据处理需求,但需要谨慎设计和维护以克服复杂性和延迟。
在某些情况下,Kappa架构(重点关注实时处理),可能是Lambda架构的替代选择。
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
猜你喜欢
- 2024-12-23 应用Stream API与并行流处理大数据量集合操作
- 2024-12-23 字节二面:为什么SpringBoot的 jar可以直接运行?
- 2024-12-23 阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
- 2024-12-23 深入 Spring 框架:从核心到高级特性
- 2024-12-23 重学java:数据集合
- 2024-12-23 工业大数据平台技术架构方案(ppt)
- 2024-12-23 大数据整体架构技术方案(ppt)
- 2024-12-23 如何用20%技术解决80%问题?这份Java进阶架构师手册,告诉你答案
- 2024-12-23 深入探索 Java 复杂泛型:使用与限制全解析
- 2024-12-23 大学大数据平台架构规划方案(ppt)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)