写点什么

拐点已至? Kafka 如何破局

  • 2024-10-08
    北京
  • 本文字数:2788 字

    阅读完需:约 9 分钟

拐点已至? Kafka 如何破局

前段时间 Current 2024 在 Austin 圆满结束,这是全球范围内 Kafka 和数据流处理领域的顶尖会议。今年是我第三次参加,和往常一样,会议聚集了来自全球的专家。但今年又让人感到分外不同—— Kafka 未来的不确定性明显增加。这个项目将走向何方?其生态系统将如何演变,Kafka 在快速发展的 AI 领域中将扮演什么角色?这些问题在我思考 Kafka 未来时一直萦绕心头。


现代数据架构新需求


大约 13 年前研发于 LinkedIn 的 Kafka ,最初被定位为一个 分布式、持久化、高吞吐量的消息系统,旨在低延迟地收集和传输大量数据。2011 年 Kafka 开源,后来被捐赠给 Apache 基金会,最终演变为现代软件中最成功的项目之一。2014 年,其创始人离开 LinkedIn 创办了 Confluent,该公司于 2021 年上市,并成为数据流处理领域的领导者。然而十多年间技术日新月异,Kafka 如今面临更加复杂的生态。


Kafka 最初被定位为一个分布式、持久、高吞吐量的消息系统。


在 2011 年,Kafka 主要有三个用例:


  • 收集日志数据

  • 将日志数据输入在线应用

  • 将衍生数据部署到生产环境


Kafka 的日志结构设计在这个应用背景下是完全合理的。但随着上下游基础设施、应用程序和数据栈的快速演变,虽然其核心用例至今依然类似,来自现代数据架构的新需求却为 Kafka 带来了新的挑战。



不同应用程序有不同的延迟要求。


新的挑战


  1. 延迟要求多样化:现代系统的延迟需求变得更加两极化。比如金融服务中股票交易对于延迟的需求达到微秒级,而如日志记录或在操作数据库和分析系统之间同步数据等场景,秒级延迟就能满足需要。因此一刀切的解决方案已不再适用,为什么一个使用 Kafka 进行简单日志记录的公司要与用其构建核心低延迟应用的公司支付相同的费用呢?

  2. 批处理系统构建自有数据摄取工具:像 Snowflake 的 Snowpipe、Amazon Redshift 的 noETL 以及最近收购了 PeerDB 的 ClickHouse 等,这些平台现在都提供内置的流数据摄取工具,使得 Kafka 不再是不同环境间移动数据以及将数据输入分析系统的唯一选择。

  3. 云基础设施存储成本降低:像 Amazon S3 这样的对象存储解决方案已经比像 EC2 这样的计算节点解决方案成本显著降低。在优化云上成本的趋势背景下,Kafka 需要拥抱能利用成本更低存储选项的架构,否则其自身可能成为数据管道中的昂贵组件。


鉴于以上挑战,Kafka 不能再依赖其原始架构。它需要演变并适应现代数据生态系统的新需求,以求在云优先趋势化的世界中保持领先。


Kafka 使用成本降至十分之一


Current 2024 上最令人兴奋的消息之一就是 Confluent 收购 WarpStream——一个兼容 Kafka 的系统,可将运行 Kafka 的成本惊人地降低为原来的十分之一。WarpStream 使用 S3 作为主要存储,消除了对本地磁盘的需求,并显著降低了网络传输费用。通过将存储层转移至成本更低的基于云的对象存储,WarpStream 使得 Kafka 更加经济实惠。


收购 WarpStream 的战略目标非常明确——在这个日益崛起的竞争对手干扰市场并迫使所有玩家利润减少之前,先将其拿下。通过将 WarpStream 的高性价比架构整合进 Kafka 生态系统,Confluent 就不会因更便宜的替代品冲击而失去其行业领导地位。


但是,不仅仅只有 WarpStream 在降低 Kafka 的使用成本。以下是其他推动 Kafka 使用成本降低的公司:



Kafka 使用成本必降低是大势所趋,尤其是对于那些仅需要 Kafka 进行日志记录或系统解耦的用户来说。他们通过采用以 S3 作为主要存储层的架构消除了对昂贵本地磁盘的需求,从而轻松降低成本。


进军批处理、拥抱 Iceberg


Kafka 一直是实时流处理的首选工具,但如今 Kafka 必须在批处理领域拥有一席之地。挑战与机遇并存——越来越多的数据仓库和分析数据库正构建自己的数据摄取工具,这意味着用户不一定需要选择 Kafka 。



如果 Kafka 不进军批处理,其在数据生态系统中的重要性可能会逐渐下降。


随着数据架构逐渐转向在 S3 上存储冷数据以节省成本,Kafka 必须重新定位自己,要既能处理实时数据也能处理历史数据。这时 Apache Iceberg 的出现至关重要。Iceberg 是一种用于处理大规模数据集的开放表格格式,迅速成为现代数据湖的重要组成部分。通过拥抱 Iceberg,Kafka 可以让用户无缝存储和查询流数据及批数据。


与其使用 Kafka 保留短期数据,另外使用单独的数仓或湖仓存储历史数据,不如将 Kafka 作为所有数据的中央存储库——无论是流数据还是批数据,通过扩展其能力以处理长期存储而不需要依赖数据保留策略,Kafka 可以演变成真正的数据湖。而 Iceberg 在这一转型中扮演了关键角色,为用户提供了如架构演进、分区和优化查询性能等好处。随着 Iceberg 的广泛采用,组织可以利用它以开放格式查询 Kafka 数据,为流处理和批处理工作负载开启新的用例。


如果不拥抱批处理并与 Iceberg 等集成,Kafka 将可能被能以统一、经济高效的方式同时处理批处理和流处理的系统所取代。Iceberg 弥补这一差距的能力是其在数据工程师和架构师中日益受欢迎的主要原因之一。


拥抱流处理优先的查询引擎


为了充分实现 Kafka 在流处理和批处理领域的潜力,它需要一个流处理优先的查询引擎。虽然像 Trino 这样的批处理优先查询引擎在对大型数据集进行即席查询时表现优秀,但在处理连续查询时却捉襟见肘——而这又是 Kafka 用户的一个关键需求。


几种引擎已经站出来填补了这个空白。RisingWave 和 Flink 是流处理优先引擎的佼佼者,擅长处理实时、不断更新的数据。RisingWave 特别适合在事件流上运行 SQL 查询,使用户能够实时获得洞见,而无需面对传统流处理的复杂性。同样,Flink 的分布式流处理能力使其成为要求低延迟、高吞吐量应用的最优选择之一。


此外,ksqlDB 是 Kafka 的扩展,提供了一个简单的基于 SQL 的接口,用于实时查询和处理 Kafka streams。它与 Kafka 的深度集成,使其成为已在使用 Kafka 生态系统用户的优先选择。



这些流处理优先引擎对于使 Kafka 数据(无论新数据还是历史数据)能够实现即时查询至关重要。通过解锁无缝查询实时和历史数据集的能力,RisingWave、Flink 和 ksqlDB 正在为 Kafka 保持领先地位铺平道路,因为流处理和批处理之间的界限越来越模糊。


结论


像 Warpstream 这样更具成本效益的解决方案的崛起,标志着 Kafka 使用成本的必然降低。此外,扩展批处理功能并支持实时和历史数据查询将是其未来保持领先的关键。如 RisingWave、Flink 和 ksqlDB 这些技术领先的流处理优先查询引擎,是 Kafka 需要充分拥抱的。


通过适应这些发展趋势:降低成本、整合批处理功能并采用流处理优先查询引擎,Kafka 可以在未来数年依旧保持现代数据基础设施中心地位并屹立不倒。


今日好文推荐


下载量超 5000 万的知名应用,开发团队“全军覆没”,从此发版人唯剩老板一个


突发!上交所系统被买崩了?股票交易量火爆挤瘫系统,IT 部门天塌了!


AIGC 使编程平民化,将会是软件行业的一场“灾难”?| 专访 Uncle Bob


一次 App 更新差点要了这家 22 年老牌公司的命:忽视技术债、疯狂裁员降本,CEO 为开发加速无视员工警告


2024-10-08 15:1810508

评论 1 条评论

发布
用户头像
您好,我这边有个数仓开发专家岗,职级p8,工作地点在北京朝阳,有兴趣的话我给您详细介绍
2024-10-08 16:36 · 北京
回复
没有更多了
发现更多内容

Flink CDC + OceanBase 全增量一体化数据集成方案

Apache Flink

大数据 flink 编程 流计算 实时计算

TASKCTL关于 "Fastjson反序列化远程代码执行漏洞” 的风险通告

敏捷调度TASKCTL

DevOps ETL算法 大数据平台 反序列化 TASKCTL

web前端培训Vue面试题分享

@零度

Vue 前端开发

信息化App在「左」,数字化App在「右」

Speedoooo

App 数字化 信息化

了解 Session、LocatStorage、Cache-Control、ETag

CRMEB

小程序IDE,快速配置让App具备“一码通”能力

Speedoooo

ide 二维码 一码通

什么是面向对象编程?终于懂了

Jackpop

从感知智能跨越到认知智能,NLP领域要做哪些创新?

澜舟孟子开源社区

人工智能 自然语言处理 nlp 大模型 认知智能

使用APICloud AVM多端框架开发消防检查助手App项目实践分享

YonBuilder低代码开发平台

APP开发 APICloud 多端开发 应用开发 avm.js

医疗机构如何利用云原生加速智慧医院建设?

York

云原生 系统架构 智慧医疗 医疗信息化 互联网医疗

Flink CDC 在大健云仓的实践

Apache Flink

大数据 flink 编程 流计算 实时计算

Android技术分享| 自定义LayoutManager

anyRTC开发者

音视频 移动开发 Andriod 动画效果 LayoutManager

理解异步

大熊G

JavaScript 前端 6月月更

大数据培训Table API 和 Flink SQL的整体介绍

@零度

flink 大数据开发

吉林长春等保测评公司有几家?详细地址在哪里?

行云管家

网络安全 等级保护 等保测评 等保测评机构 吉林

如何最简单、通俗地理解Python的pandas库?

Jackpop

私有云和公有云的主要区别有几点?两者哪个更安全?

行云管家

云计算 公有云 私有云 企业上云 云管平台

哈希彩竞猜娱乐游戏俱乐部系统开发详情

开发微hkkf5566

TiDB 6.1 发版:LTS 版本来了

PingCAP

分布式

如何从零开始开发一款chrome扩展?

Jackpop

java培训 | Mybatis的特性

@零度

mybatis JAVA开发

芯动科技加入龙蜥社区,创新驱动生态发展

OpenAnolis小助手

操作系统 芯片 龙蜥社区 CLA 芯动科技

面试官神级问题:DNS服务器是否可以加快我们的网络访问速度?

wljslmz

服务器 DNS 6月月更

新闻速递 | MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长

MobTech袤博科技

移动互联网 运营 精细化运营 华为开发者联盟 HDG

字节跳动Dev Better技术沙龙来啦!参与活动赢好礼,限时免费报名中!

字节跳动终端技术

字节跳动 技术沙龙 华泰证券

可视化技术在 Nebula Graph 中的应用

NebulaGraph

可视化 图数据库 知识图谱

百问百答第42期:应用性能探针监测原理-.net

博睿数据

智能运维 博睿数据 性能监测

打造“更懂电池”的充电桩 星云股份底气何来?

E科讯

庄周梦蝶终非蝶,冷静看待“谷歌AI形成人格”事件

易观分析

谷歌AI

为了写好代码,我坚持了这8条习惯!

Jackpop

高考后,学会这种能力,让你收益终生!

图灵教育

数学 高考 数学建模

拐点已至? Kafka 如何破局_实时计算_吴英骏_InfoQ精选文章