Spring boot 负载平衡Kafka consumer多个实例

Spring boot 负载平衡Kafka consumer多个实例,spring-boot,kubernetes,apache-kafka,load-balancing,kafka-consumer-api,Spring Boot,Kubernetes,Apache Kafka,Load Balancing,Kafka Consumer Api,我有一个消费者,可以将消息读写到时间序列数据库。我们有时间序列数据库的多个实例作为集群在多台物理机器上运行 我们的计划是在Kubernetes上部署consumer,以便在需要更多具有负载平衡的实例时可以进行扩展—它们都指向正在运行的单个时间序列服务 现在我想到了一个问题,如果我有5个实例使用相同的主题,那么它们各自工作意味着(它们都获得消息有效负载并像任何一个实例一样进行保存) 我们想要的是 我们希望,如果一个消费者很忙,那么它将转到下一个空闲实例,但不会被所有正在运行的实例订阅。扩展或负载平

我有一个消费者,可以将消息读写到时间序列数据库。我们有时间序列数据库的多个实例作为集群在多台物理机器上运行

我们的计划是在Kubernetes上部署consumer,以便在需要更多具有负载平衡的实例时可以进行扩展—它们都指向正在运行的单个时间序列服务

现在我想到了一个问题,如果我有5个实例使用相同的主题,那么它们各自工作意味着(它们都获得消息有效负载并像任何一个实例一样进行保存

我们想要的是

我们希望,如果一个消费者很忙,那么它将转到下一个空闲实例,但不会被所有正在运行的实例订阅。扩展或负载平衡意味着我想要像普通的负载平衡应用程序一样,或者在Kubernetes上扩展时spring boot应用程序的工作方式

那么,有没有办法让它像一个负载平衡的消费者一样,只处理一个,甚至像loadbanlacer这样的普通应用程序一样,一次、二次或三次消费


如果有人对此有想法,它将如何运行,如果使用Kafka Spring boot应用程序进行此操作,我们将获得什么样的输出

您是否正在部署具有自动生成的使用者组id的使用者?似乎每个人都有自己的消费群体,所以他们采取行动independently@aran如果我在文章中提到的话,你怎么说他们自动生成了消费者组idcode@aran告诉我一个想法,如果他们独立工作,扩展或平衡负载有什么好处如果你的每个消费者都有自己的消费群体,你就不会平衡负载,因为第二个消费者不会帮助第一个消费者,而是从一开始就开始消费和处理第一个消费者处理的相同消息。因此,您将处理每条消息两次(如果第三个消费者进来,三次,以此类推),那么有没有办法让它像负载平衡消费者一样,只处理一条消息,即使是第1条、第2条或第3条消息,就像loadbanlacer一样正常工作