Alpakka kafka 与 Kafka 流

Alpakka kafka vs Kafka streams

我们正在构建一个高吞吐量低延迟流处理应用程序。我们将 Apache Kafka 用作消息传递平台和数据库。

Kafka Streams 和 Alpakka Kafka 框架似乎有很多共同之处,但 Kafka Streams 似乎更 "native" Kafka,而 Alpakka 允许我们使用 Akka 框架的强大功能。

这两个框架之间的主要区别是什么?

主要区别在于 Kafka 流在输入端和输出端都需要 Kafka 主题。使用 Alpakka,您可以为所有类型的输入和输出创建处理管道,而不仅仅是 Kafka 主题。此外,akka 流 DSL 比 Kafka 流 DSL 更强大(也更复杂)。

通过使用 Alpakka,可以将各种类型的 Sink 和 Flow(管道)附加到 Akka Stream 中的 API 中。例如可以同时使用 Alpakka Kafka 和 Alpakka Cassandra 来启用自动发布消息并保存到数据库。 Akka 中的测试工具包还可以使测试在整个系统中保持一致。