认识lambda架构(架构师考试复习)

Lambda架构主要分为三层,批处理层、加速层和服务层。

如下图所示:

(1)批处理层(Batch Layer):存储数据集,在数据集上预先计算查询函数,并构建查询对应的view。Batch Layer可以很好地处理离线数据。当很多场景需要实时查询的时候,则需要Speed Layer

(2)加速层(Speed Layer):batch layer处理的是全体数据集,speed layer处理的是增量数据流。Speed layer接收到数据后会不断更新Real-time view,而Batch Layer是根据全体离线数据集直接得到Batch View。

(3)服务层(serving layer):Serving layer用于合并Batch View 和Real-time view中的结果数据集到最终数据集。

1、批处理

批处理有两个核心功能,存储数据集和生成Batch View。该层主要负责主数据集,主数据集有以下三个属性:

(1)数据是原始的

(2)数据是不可变的

(3)数据永远真实的

2、加速层

它存储实时视图并传入数据流,以便更新这些视图。

Speed Layer和Batch Layer的区别如下:

(1)speed layer处理数据是最近的增量数据流,batch layer是全体数据集。

(2)Speed layer为了效率,接收到新数据时不断更新Real-time view,而Batch Layer是根据全体离线数据集直接得到Batch View。

分为加速层和批量层的好处有哪些?

容错性:当speed layer重新计算后,当前的real-time view就可以丢弃,而batch view也是重新计算的。

复杂性隔离:批量处理离线数据很好掌握,加速层处理增量数据隔离出来。

Scale out:横向扩展,通过增加机器来扩展,而不是增加机器性能scale up。

3、服务层

用于响应用户查询,合并batch view和real-time view中的结果集得到最终数据集。该层提供了主数据集上执行的计算结果的低延迟访问。读取速度可以通过数据附加的索引来加速。

相关推荐
葡萄成熟时 !7 小时前
JAVA 常用API学习笔记
java·笔记·学习
Rain的Java大神之路8 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
吴声子夜歌9 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初1479 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
傻啦嘿哟10 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅11 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
mqiqe12 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
zhifou12345612 小时前
java 17升级安装
java·开发语言
用户37215742613512 小时前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
用户37215742613512 小时前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java