消息消费者和流拓扑的Kafka相同消费者组

Kafka same consumer group for message consumers as well as stream topology

我们 运行 一个依赖 Kafka 的集群工作应用程序使用高级消费者 API 来消费消息。集群中的所有节点共享同一个消费者组。现在我们想要的是将该逻辑的一部分迁移到 Kafka 流处理器 API。这里的方法是什么?如果分配相同的groupId/clientId,流拓扑是否会与现有消费者争夺消息?我们应该分配不同的 groupId/clientId 吗?流拓扑?说 "group." + "background-worker-stream"?

props.put(StreamsConfig.CLIENT_ID_CONFIG, "background-worker");
props.put(ConsumerConfig.GROUP_ID_CONFIG, "group." + "background-worker");

Kafka Streams 需要并使用 & 将 application.id 属性 插入到组 ID 中。您不能为流 API、AFAIK

显式设置 group.id