我对kafka还不熟悉,正在学习kafka的相关概念。
我创建了一个简单的流应用程序,从一个具有两个分区的主题中流式传输数据。我有两个应用程序实例(基于两个项目中相同的application.id),当我启动第三个应用程序实例时,出现了错误。由此,我了解到kafka中的application.id被视为消费者组ID,其中单个消费者可以从主题的单个分区中读取,而第3个消费者没有获取任何数据,因此无法存储在主题中。
我还尝试了另一种情况,其中我更改了我的某个应用程序中的application.id。通过这样做,应用程序的第三个实例也开始正常工作。因此,我的假设得到了确认,即application.id被视为消费者组ID。
但我也注意到group.id、client.id也存在,这让我感到困惑。在我们的项目中使用group.id、client.id的目的是什么?这些属性是什么,它们如何起作用?我已经为所有三个应用程序设置了相同的group.id。