Sag*_*gar 6 apache-kafka apache-kafka-streams
我是 kafka 的新手,所以我只是在清除我的 kafka 概念。
我创建了一个简单的流应用程序,它从具有两个分区的单个主题流式传输数据。我有这个应用程序的两个实例(我是根据两个项目中相同的 application.id 说的)。当我启动应用程序的第三个实例时,出现错误。由此,我了解到 kafka 中的 application.id 被视为消费者组 ID,其中单个消费者可以从主题的单个分区读取,而第三个消费者没有得到任何内容,因此无法针对该主题获取存储。
我还尝试了另一种场景,我在其中一个应用程序中更改了 application.id。因此,通过这样做,应用程序的第三个实例也开始正常工作。所以它证实了我的假设 application.id 被视为消费者组 ID。
但我也注意到 group.id, client.id 也存在那里,这让我很困惑。在我们的项目中使用 group.id、client.id 的目的是什么,这些属性是什么以及它们是如何工作的。我为所有三个应用程序设置了相同的组 ID。
Mic*_*oll 17
简而言之:
client.id(对于生产者和消费者)设置单个 Kafka 生产者或消费者客户端的名称。group.id设置单个 Kafka 消费者客户端所属的 Kafka消费者组的名称。application.id是仅由 Kafka Streams 用于命名应用程序的设置,即使用 Kafka Streams 库(可以在一个或多个应用程序实例上运行)的应用程序。在幕后, theapplication.id也用于生成group.id和client.ids。有关更多信息,请参阅application.id文档。| 归档时间: |
|
| 查看次数: |
3448 次 |
| 最近记录: |