Java 为单个卡夫卡主题创建多个使用者

Java 为单个卡夫卡主题创建多个使用者,java,apache-kafka,Java,Apache Kafka,我有一个spring启动应用程序。我希望在功能上实现一个从Kafka主题消费的方法,对于每一个消费的消息,它调用另一个方法,对消息进行处理,然后将其存储在数据库中。源kafka主题有12个分区。我想在同一消费群体下创建6或12个卡夫卡消费者。所有使用者都将使用来自Kafka的消息并调用该函数。我无法为这件事找到一个好的设计。有人能帮我吗 对于一个有4个分区的主题,我们有着相同的需求,我们创建了一个有2个成员的消费者组,并为每个成员(消费者的实例)分配了两个分区。 如果您使用的是spring,则可

我有一个spring启动应用程序。我希望在功能上实现一个从Kafka主题消费的方法,对于每一个消费的消息,它调用另一个方法,对消息进行处理,然后将其存储在数据库中。源kafka主题有12个分区。我想在同一消费群体下创建6或12个卡夫卡消费者。所有使用者都将使用来自Kafka的消息并调用该函数。我无法为这件事找到一个好的设计。有人能帮我吗

对于一个有4个分区的主题,我们有着相同的需求,我们创建了一个有2个成员的消费者组,并为每个成员(消费者的实例)分配了两个分区。 如果您使用的是spring,则可以使用以下参数选择实例将创建多少成员:

# For Kafka concurrency 
spring.kafka.listener.concurrency=2
如果您使用的是卡夫卡库,则此参数应位于使用者的参数中。
请注意不要超过可用线程的数量。

我们对具有4个分区的主题有着相同的需求,我们创建了一个具有2个成员的消费者组,并为每个成员(消费者的实例)分配了两个分区。 如果您使用的是spring,则可以使用以下参数选择实例将创建多少成员:

# For Kafka concurrency 
spring.kafka.listener.concurrency=2
如果您使用的是卡夫卡库,则此参数应位于使用者的参数中。 请注意不要超过可用线程数

源kafka主题有12个分区。我想在同一消费群体下创建6或12个卡夫卡消费者

您可以设置
spring.kafka.listener.concurrency
,也可以在同一台机器上或使用相同配置的多台机器上运行多个Java进程

您无需执行其他操作,因为其余操作由消费者API处理

源kafka主题有12个分区。我想在同一消费群体下创建6或12个卡夫卡消费者

您可以设置
spring.kafka.listener.concurrency
,也可以在同一台机器上或使用相同配置的多台机器上运行多个Java进程


您无需执行任何其他操作,因为其余操作由消费者API处理。与往常一样,Kafka消费者将使用来自主题的相同消息,并为不同的目的处理它们。如果您只是处理一条消息并将其存储到同一个数据库中,我认为您只需要创建一个消费者。我对你的帖子理解正确吗?所以如果我创建的所有消费者都是同一个消费者群体。消费者将被划分到分区中。所以,如果我创建12个消费者,那么每个消费者将只使用1个分区。因此,随着消费者数量的增加,我将能够并行使用分区,处理速度也将加快。它调用另一种方法,对消息进行一些处理,然后将其存储在数据库中。-请使用卡夫卡连接进行此操作。不要像往常一样使用Spring写入数据库,Kafka消费者将使用来自主题的相同消息,并为不同的目的处理它们。如果您只是处理一条消息并将其存储到同一个数据库中,我认为您只需要创建一个消费者。我对你的帖子理解正确吗?所以如果我创建的所有消费者都是同一个消费者群体。消费者将被划分到分区中。所以,如果我创建12个消费者,那么每个消费者将只使用1个分区。因此,随着消费者数量的增加,我将能够并行使用分区,处理速度也将加快。它调用另一种方法,对消息进行一些处理,然后将其存储在数据库中。-请使用卡夫卡连接进行此操作。不要使用Spring写入数据库