在Kafka-Java中为同一主题创建多个消费者组

在Kafka-Java中为同一主题创建多个消费者组,java,spring-boot,apache-kafka,kafka-consumer-api,Java,Spring Boot,Apache Kafka,Kafka Consumer Api,我想为同一主题创建多个消费者或一组消费者。因为我的要求是从所有应用程序捕获事件。如果我在两个不同的VM中部署我的项目,分区将只分配给我首先部署的一个VM,第二个分区不会分配给相同的主题。据我所知,您希望在每个VM中接收来自该主题的所有消息。在这种情况下,您必须在应用程序的每个部署中的使用者属性中指定不同的group.id。使用者组中的使用者数量必须等于或小于主题的分区数量。如果您的主题有一个分区,并且您在同一组中创建了两个使用者,则其中一个使用者将处于空闲状态(不会接收任何消息)。 如果分区号不

我想为同一主题创建多个消费者或一组消费者。因为我的要求是从所有应用程序捕获事件。如果我在两个不同的VM中部署我的项目,分区将只分配给我首先部署的一个VM,第二个分区不会分配给相同的主题。

据我所知,您希望在每个VM中接收来自该主题的所有消息。在这种情况下,您必须在应用程序的每个部署中的使用者属性中指定不同的
group.id

使用者组中的使用者数量必须等于或小于主题的分区数量。如果您的主题有一个分区,并且您在同一组中创建了两个使用者,则其中一个使用者将处于空闲状态(不会接收任何消息)。
如果分区号不够,您可以更改主题以拥有更多分区

是的,我已经这样做了,但问题是,如果每次需要更改组id和部署100次,我就有100个应用程序。所以这是徒劳的。请与我联系tejas。gowda@sugarboxnetworks.comYou可以使用一些随机化,这取决于您使用的技术(UUID、系统时间等)。您还可以使用一些独特的参数,例如服务器的名称。即使我放置了一个计数器,我如何知道接收到的特定事件应该放置在新的groupId下。不必要我需要编写代码并将记录保存在底层数据库中。如果使用的值足够随机(例如UUID),则无需担心冲突,因此无需跟踪使用了哪些值。Thxz,但我关心的不是分区或分区与用户组之间的平衡方程。我关心的是如何创建一组消费者从同一个groupId获取msg。请澄清您的问题。一点也不清楚,我有一个相同的组id,但即使我尝试使用不同vm的任何一个vm获取kafka事件,其他的都没有。关于这个主题,你有多少个分区?你能尝试给出一个不同的组id,看看它是否使用事件吗?我有3个分区,我尝试使用不同的组id它工作正常,但我想保持相同的groupId