Kafka 的流式计算,可以理解为在数据产生的“源头”或“途中”实时地进行分析和转化,而不是等数据存满了再一次性处理。它让你的系统具备了“即时的洞察力”和“快速的响应力”。
🧐 通俗理解:流式处理 vs 批处理
-
批处理(Batch Processing):就像自来水公司按月统计用水量。它会先收集一段时间内(比如一个月)所有用户的所有用水记录,形成一个庞大的“数据集”,然后一次性计算。优点是流程清晰,但缺点是时效性差,你只能在月底看到账单。
-
流式处理(Stream Processing):就像水表实时显示当前水流量。数据像水流一样源源不断地产生,系统会持续地、一条一条地处理这些数据,并即时得出结果。它不等待数据“攒够”,而是来一条处理一条。
💡 流式处理体现在 Kafka 的什么地方?
Kafka 本身是一个消息队列,但它通过 Kafka Streams 这个客户端库,实现了强大的流式处理能力。你可以直接在 Java 或 Scala 代码中嵌入 Kafka Streams 的 API,构建一个流处理应用。
它工作的基本模式是:从 Kafka 的一个 Topic 读取数据流 → 执行实时计算(过滤、转换、聚合等) → 将结果写入 Kafka 的另一个 Topic 或外部系统。
⚖️ 流式处理的优缺点
-
优点:
-
⚡ 实时与低延迟:数据产生即处理,延迟通常在毫秒级。
-


5069

被折叠的 条评论
为什么被折叠?



