0

我让我的动物园管理员和3位卡夫卡经纪人在本地运行。 我开始了一个生产者和一个消费者。我可以看到消费者正在消费信息。发布给春季数据流项目中具有相同消费群的所有消费者的邮件

然后,我开始使用相同消费群组名称(不同端口,因为它是一个春季启动项目)的三个消费者。但我发现所有的消费者都在消费(接收)消息。但是我期望消息是负载均衡的,因为只有消息不会在消费者中重复。我不知道问题是什么。

这里是我的属性文件

spring.cloud.stream.bindings.input.destination=timerTopicLocal 
spring.cloud.stream.kafka.binder.zkNodes=localhost 
spring.cloud.stream.kafka.binder.brokers=localhost 
spring.cloud.stream.bindings.input.group=timerGroup 

这组是timerGroup。

消费者代码:https://github.com/codecentric/edmp-sample-stream-sink

生产者代码:https://github.com/codecentric/edmp-sample-stream-source

回答

0

能否请您更新依存关系Camden.RELEASE(并开始使用卡夫卡0.9+)?在Brixton.RELEASE中,Kafka使用者是基于0.8的,并且需要传递instanceIndex/instanceCount作为属性才能正确分配分区。

Camden.RELEASE我们使用Kafka 0.9+消费者客户端,它以您期望的方式进行负载平衡(我们也支持通过instanceIndex/instanceCount进行静态分区分配,但我怀疑这不是您想要的)。我可以进一步了解如何使用Brixton进行配置,但我想升级应该是一个更容易的途径。

相关问题