如何在多个消费者阅读相同的kafka消息
问题描述:
我对Kakfa Spring集成非常陌生。我已经实现了Kafka消息发送和One Listener,它对我来说工作得很好。但我想在两个地方听同样的信息。谁能帮我。以下是我的代码。如何在多个消费者阅读相同的kafka消息
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.auto-commit-interval=100
spring.kafka.consumer.bootstrap-servers=localhost:9092
spring.kafka.consumer.enable-auto-commit=true
spring.kafka.consumer.group-id=sample-group
spring.kafka.producer.batch-size= 16384
spring.kafka.producer.bootstrap-servers=localhost:9092
spring.kafka.producer.retries= 0
spring.kafka.producer.buffer-memory=33554432
spring.kafka.template.default-topic=spring-topic
发件人代码:
public void testSimple() {
System.out.println("Sending Topic Here");
template.send("spring-topic", 0, "foo");
template.flush();
}
接收机:
@KafkaListener(id = "foo", topics = "spring-topic")
public void listen1(String foo) {
System.out.println("Got Notification Here");
this.latch1.countDown();
}
任何能帮助我如何在不同的地方读取相同的消息。
答
如果你改变了消费群体在这条线:
spring.kafka.consumer.group-id=sample-group
到别的第二消费将得到所有信息,以及东西。
This article解释了一些有关消费者群体,值得一读。