Apache Kafka 3.0 的流处理功能通过 Kafka Streams API 实现,它允许开发者以轻量级方式构建实时数据流应用。以下是关键知识点:
核心概念 📌
- Kafka Streams:嵌入式流处理库,支持分布式、容错的流处理任务
- 拓扑定义:通过
Topology
接口构建数据处理流程(如过滤、聚合、连接) - 状态存储:使用状态存储(State Stores)实现窗口计算和持续查询
- KSQL:集成式流处理查询语言,支持实时数据转换与分析
快速入门步骤 🚀
- 添加依赖
<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-streams</artifactId> <version>3.0.0</version> </dependency>
- 定义流处理拓扑
StreamsBuilder builder = new StreamsBuilder(); KStream<String, String> stream = builder.stream("input-topic"); stream.mapValues(value -> { // 业务逻辑处理 return value.toUpperCase(); }).to("output-topic");
- 启动应用
KafkaStreams streams = new KafkaStreams(config, builder.build()); streams.start();