大数据之Kappa架构
目录
- 一、Kappa架构
- 二、Kappa处理过程
- 三、Kappa优缺点
- 3.1 Kappa架构优缺点
- 3.2 Lamda和Kappa架构对比
Kappa架构是
由LinkedIn的前首席工程师杰伊·克雷普斯( Jay Kreps
)提出的一种架构思想。克雷普斯是几个著名开源项目(包括 Apache Kafka
和 Apache Samza
这样的流处理系统)的作者之一。
Kreps 提出了一个改进 Lambda 架构的观点:
- 通过改进
Lambda架构
中的Speed Layer
,使它既能够进行实时数据处理,同时也有能力在业务逻辑更新的情况下重新处理以前处理过的历史数据。
Kappa架构
的原理就是:在Lambda架构的基础上进行了优化,删除了Batch Layer的架构
,将数据通道以消息队列进行替代。因此对于Kappa架构来说,依旧以流处理
为主,但是数据却在数据湖层面进行了存储,当需要进行离线分析或者再次计算的时候,则将数据湖的数据再次经过消息队列重播一次则可。
一、Kappa架构
二、Kappa处理过程
以Apache Kafka
为例来讲述整个全新架构的过程:
- 设置Apache Kafka日
志数据保留时间
,保留时间是指能够重新处理历史数据的时间区间。
例如,如果希望重新处理最多一年的历史数据,那就可以把Apache Kafka 中的保留期设置为365天。如果希望能够处理所有的历史数据,那就可以把 Apache Kafka 中的保留期设置为永久(Forever) - 如果需要改进现有的逻辑算法,也就表示
需要对历史数据进行重新处理
,需要做的就是重新启动一个Apache Kafka作业实例
(Instance),该作业实例将从头开始,重新计算保留好的历史数据,并将结果输出到一个新的数据视图中。
我们知道Apache Kafka的是使用
Log Offset
判断当前已处理到哪个数据块了,所以只需要设置Log Offset为0
,新的作业实例就会从头开始处理历史数据。 - 当
处理的新数据视图进度赶上了旧数据视图
时,应用可以切换到从新的数据视图中读取
。 停止旧版本的作业实例,并删除旧的数据视图
。
三、Kappa优缺点
3.1 Kappa架构优缺点
Kappa架构
的优点在于将实时和离线代码统一起来
,方便维护而且统一数据口径的问题。而Kappa的缺点也很明显
:
- 消息中间件
缓存的数据量和回溯数据有性能瓶颈
。通常算法需要过去180天的数据,如果都存在消息中间件,无疑有非常大的压力。同时,一次性回溯订正180天级别的数据,对实时计算的资源消耗也非常大。 - 在处理实时数据时,遇到大量不同的实时流进行关联时,非常依赖实时计算系统的能力,
很可能因为数据流先后顺序问题,导致数据丢失
。 - Kappa在抛弃了离线数据处理模块的时候,同时
抛弃了离线计算更加稳定可靠的特点
。Lambda架构虽然保证了离线计算的稳定性,但双系统的维护成本高且两套代码带来后期运维困难
。
Lamda架构 | Kappa架构 | |
---|---|---|
优点 |
1. 架构简单 2.结合离线批处理和实时流处理优点 3.稳定且实时计算成本可控 4. 离线数据易于订正 |
1.只需维护实时处理模块 2.无须合并离线和实时数据 |
缺点 |
1. 离线和实时数据很难保证一致 2.需要维护2套代码 |
1.强依赖消息中间件 2.实时数据处理存在消息丢失 |
3.2 Lamda和Kappa架构对比
Lamda架构 | Kappa架构 | |
---|---|---|
实时性 | 实时 | 实时 |
计算资源 | 批流同时运行,资源消耗大 | 只有流处理,资源消耗小 |
重新计算 | 批式全量处理,吞吐量高 | 流式处理,比批量处理吞吐量低 |
开发难度 | 同时开发批处理和流处理两套代码,开发测试难度大 | 只开发一套流处理代码,难度小 |
运维成本 | 同时维护批处理和流处理两套代码,运维难度大 | 只运维一套流处理代码,难度小 |
大数据之Kappa架构相关推荐
- 《2022 大数据技术与架构视频合集》附PPT和文档,限时下载
[传道篇]大数据架构师之技术栈及职业修养 01 大数据技术生态与架构演进 02 大数据技术体系与主流技术栈 03 大数据行业职位划分&典型职业发展路径 04 如何规划自己的职业发展方向 05 ...
- 普元王葱权:数字化时代需要新一代的大数据应用平台架构
记者 | 杨丽 出品 | AI 科技大本营(rgznai100) 2018 年 12 月 6 日,北京新云南皇冠假日酒店,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN.中科天玑数据科技 ...
- 智能&大数据时代,架构师思维的十个学习步骤(优化版)
前言: 秦朝的<书同文.车同轨>,加上唐朝的<诗同形>,有效的减法设计,创造了大一统(加法)的辉煌国度.君不见,在前面各步骤里,诸如:从复杂中设计出简单.以需求检验设计等都是基 ...
- 企业大数据平台仓库架构建设思路
https://yq.aliyun.com/articles/57901 总体思路 随着互联网规模不断的扩大,数据也在爆炸式地增长,各种结构化.半结构化.非结构化数据不断地产生.新环境下的数据应用呈现 ...
- 【2017年第4期】工业大数据技术与架构
郑树泉,1,3, 覃海焕,2,3, 王倩,1,3 1. 上海计算机软件技术开发中心,上海 201112 2. 上海电机学院电子信息学院,上海 201306 3. 上海产业技术研究院工程大数据服务创新中 ...
- 作者:石在辉(1983-),男,中移(苏州)软件技术有限公司大数据产品部方案架构师。...
石在辉(1983-),男,中移(苏州)软件技术有限公司大数据产品部方案架构师,主要从事解决方案.战略规划.产品规划等工作.
- 大数据时代:架构师该具备什么?
揭秘|学习|创新|实践 诚邀台湾"Android教父".国际资深架构师专家高焕堂先生3月31日亲临上海授课.4月12日将由Hadoop源码级专家王家林上海张江首场授课. ...
- 大数据运维架构师培训(1):Zookeeper,Hadoop(HDFS,MR,Yarn)
一.风哥大数据运维架构师实战培训专题2.0介绍 课程背景: 为满足想学习和掌握大数据运维与体系架构的学员,风哥特别设计的一套比较系统的大数据库运维培训课程. 课程目标: 本套风哥大数据运维架构师实战培 ...
- 大数据平台基础架构指南
之前的文章,整理了一下,补充了一些内容,做了一些更新,现已出版上市了.无耻的推广一下哈 :) 淘宝,JD都有现货,Amazon,搜书名 < 大数据平台基础架构指南 > 链接:https:/ ...
最新文章
- php注册程序,[PHP初级]手把手教你写注册程序 1
- nodejs的事件循环1
- IPv6下CDN和网络的最佳实践
- WEB数据透视表Pivot Table
- 10步骤优化SQL Server 数据库性能
- C++实例讲解Binder通信
- 【BZOJ3781】小B的询问 莫队
- k8s pod删不掉
- Python爬虫爬取豆瓣高分电影附源码(详细适合新手)
- 防盗报警器c语言程序,(完整版)基于单片机的家庭防盗报警系统doc毕业论文
- 2022年河北省高职单招(职业倾向性)考试冲刺试题及答案
- C语言,switch语句系列
- 网络通信OSI七层或五层模型,路由协议(OSPF,IGRP等)
- 微信小程序毕业设计开题报告医院预约挂号小程序+后台管理系统|前后分离VUE.js
- js:两种方法实现键盘按键控制
- python爬取学校题库_Python爬虫实战-获取某网站题库
- 熄灯问题POJ1222的一些思考
- booting过程介绍
- 怎么改mysql的搜索引擎_MySQL全文索引实现简单版搜索引擎实例代码
- [JS JQUERY] 60个JSP免豆资料(教程+源码)下载地址汇总
热门文章
- 离任审计应如何有序开展
- java leftpad_Java中实现String.padLeft和String.padRight的示例
- APP查询用户购买套餐使用量和套餐总数
- 攻击“王者荣耀”的勒索病毒SLocker解读
- chrome游戏:“钉子户大战拆迁队(Guard NailHoushold)”和“The Fancynbs
- druid监控无法关闭
- Google Earth Engine(GEE)制作动图
- docker容器的health健康状态检查
- Java反射机制(简单易懂)
- 信息技术专业标准体系框架设计研究与思考