Skip to main content
 首页 » 编程设计

scala之Akka Stream Kafka 与 Kafka Streams

2024年08月25日122telwanggs

我目前正在与 Akka Stream Kafka 合作与 kafka 互动,我想知道与 Kafka Streams 有什么区别.

我知道基于 Akka 的方法实现了响应式(Reactive)规范并处理了 kafka 流似乎缺乏的背压功能。

与 akka 流 kafka 相比,使用 kafka 流有什么优势?

请您参考如下方法:

你的问题很笼统,我就从我的角度给出一个笼统的答案。

首先,我有两个使用场景:

  • 在我从 kafka 读取数据,处理它并将一些输出写回 kafka 的情况下,对于这些我专门使用 kafka 流。
  • 对于我使用 akka 流的数据源或接收器不是 kafka 的情况。

  • 这已经让我能够回答关于背压的部分:对于上面的第一个场景,kafka 流中有一个背压机制。

    现在让我们只关注上述第一个场景。如果我决定停止使用 Kafka 流,让我们看看我会失去什么:
  • 我的一些流处理器阶段需要一个持久(分布式)状态存储,kafka 流为我提供了它。这是 akka 流不提供的东西。
  • 缩放时,kafka 流会在流处理器的新实例启动后立即自动平衡负载,或者在一个新实例被杀死时自动平衡负载。这适用于同一个 JVM 以及其他节点:向上和向外扩展。这不是由 akka 流提供的。

  • 这些是对我来说最重要的区别,我希望它对你有意义!