【架构-8】Lambda和Kappa架构

Lambda架构?

Lambda架构(三层架构):

(1)将数据处理分为实时和离线两部分。离线部分通过批量计算处理数据,实时部分则通过增加追加方式将数据合并到批处理中。

(2)批处理和增量处理独立存在,适合处理大数据量的场景。

(3)适用于离线批处理和增量处理场景,如离线数据分析、报表生成等。

批处理层:存储数据集。

【MapReduce】【Spark】

加速层:处理最近的增量数据流。

【Spark Streaming】【Storm】

服务层:合并批视图和实时视图中的结果数据集到最终数据集。

【Redis】【MySQL】【HBase】【Hive】

优点:(1)容错性好(2)灵活度高(3)易伸缩易扩展

缺点:(1)全场景覆盖带来的编码开销(2)重新部署和迁移成本高

应用实例

Kappa架构?

Kappa架构(二层架构):

(1)以流处理为主的数据分析架构,实时层流式处理输入数据,生成实时视图,服务层接受用户请求,查询实时视图,响应用户请求。

(2)流式处理,适合处理实时数据。

(3)适用于实时性要求高的场景,如金融、物流等领域的实时监控、预警等。

实时层:处理输入数据,生成实时视图。

【采用Apache Kafka回访数据】

【采用Flink或Spark Streaming处理】

服务层:使用实时视图中的结果数据集响应用户请求。

【一般使用数据仓库或数据湖中的缓存或存储作为服务层】

优点:离线和实时处理代码统一,将实时和离线统一起来,方便进行数据处理;具有低延迟、高吞吐量、高可扩展性等优点。

缺点:计算能力相对较弱,难以即时响应;过度依赖特定组件(如Redis和HBase)。

应用实例

Lambda和Kappa架构的区别?


相关推荐
ZhengEnCi2 小时前
Q01-高并发点赞系统架构设计
架构
笨鸟飞不快6 小时前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
锋行天下1 天前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构
小鼻子的猫1 天前
独立开发 30 天:2.5 万行代码,23 个 Bug,5 次重构——一个 AI 社区的诞生
架构
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
candyTong1 天前
阿里开源 AI Code Review 工具:ocr review 的执行链路解析
javascript·后端·架构
doiito2 天前
【Agent Harness】TPS的“自工程完结”教会了我一件事:别把Bug留给下一道工序
架构·rust
烬羽2 天前
中英文 token 数量差一倍?两段 JS 代码搞懂 LLM 底层是怎么"读"文字的
javascript·程序员·架构