golang 中的 kafka 流

问题描述 投票:0回答:2

我正在尝试使用 golang 在 Go 中创建 kafka 流客户端。据我所知,只有使用 Java 客户端才有可能实现这一点。我做了一些搜索,发现了一些其他第三方库,但没有官方的。另外,从我有限的理解来看,我认为流是标准消费者的语法糖?这是正确的吗?

go apache-kafka-streams
2个回答
0
投票

为了回答您这个特定问题,

根据我有限的理解,我认为流是语法糖 超过标准的消费者?这是正确的吗?

在实现异步微服务时,我们可以使用生产者消费者API,但这些API级别太低,它们很好理解如何使用Kafka,但如果我们想实现更复杂的应用程序,它们可能级别太低。此外,当我们开发事件驱动的应用程序时,当我们连接多个阶段时,我们可能需要实现多阶段处理。在每个阶段,我们将从Kafka读取事件,处理它们,然后写入输出主题。同样,使用生产者和消费者 API 将是一项相当大量的工作。我们可以使用的更高级别的解决方案之一称为“Kafka Streams”。 Kafka Streams是一个非常通用的库,它支持无状态流处理,还支持有状态处理。

注意:

如果您可以选择使用 Go 以外的语言,我强烈建议使用 Java 来实现 Kafka Streams。在此提一下,过去两年我们一直在使用 Java 来处理 Kafka Streams,我们觉得 Kafka Streams 更像是一个 Java 库,而不是一个分布式系统。


0
投票

流转换(聚合等)
  • 本地容错状态(kstreams 使用 RocksDB)
  • Goka [https://github.com/lovoo/goka] 现在是一个相对活跃的 Kafka Streams golang 支持项目。

© www.soinside.com 2019 - 2024. All rights reserved.