首页/数据/数据工程与 ETL 速查/Kafka Streams 流处理库
Kafka64 条

Kafka Streams 流处理库

Kafka Streams 是客户端库:在普通 Java 应用里读写 Kafka 完成流处理,无需独立集群;以 KStream/KTable 建模,状态存于本地并可用 changelog 主题恢复。

形态库(嵌入应用),不是独立计算集群
抽象KStream(事件流)、KTable(变更表)、GlobalKTable
容错本地状态 + changelog 主题重建
语义processing.guarantee=exactly_once_v2 支持端到端精确一次

统计示例(Java 片段)

统计示例(Java 片段)
StreamsBuilder builder = new StreamsBuilder();
KStream<String, String> orders = builder.stream("orders");
orders.groupByKey()
      .count()
      .toStream()
      .to("order-counts");
Kafka Streams 适合 Kafka 内闭环的轻量流处理;要连接外部系统或复杂事件时间语义时,Flink 等引擎更常见。

易错点

  • 本地状态目录不持久化会延长恢复时间,生产要配置状态目录与 changelog 管理
  • 分区数变化后重新分区行为与 key 分布变化要重新评估

数据来源与参考

  • Apache Kafka 官方文档:Kafka Streams Core Concepts
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌