Lambda架构由Storm的作者Nathan Marz提出,其设计目的在于提供一个能满足大数据库系统关键特性的架构,包括高容错、低延迟、可扩展等。其整合离线批处理和实时流处理,融合不可变形、读写分离和复杂隔离性等原则,集成Hadoop、Kafka、Spark、Storm、Flink等主流大数据组件,达到强鲁性、低延迟的大数据架构思想。
Lambda架构可以分为三层,即批处理层、加速层和服务层,
批处理层(Batch Layer):主要是存储数据集和生成Batch View。Batch Layer可以很好地处理离线数据,处理地是全量数据,数据处理时延高。
加速层(Speed Layer):存储实时视图并处理传入的数据流,以便更新这些视图。Speed Layer处理地是最近地增量地数据流。
服务层(Serving Layer):用于响应用户的查询请求,合并 Batch View 和 Real-time View 中的结果数据集到最终的数据集。