我的spring引导应用程序正在使用来自kafka主题的(apachecamel)消息。
同一个应用程序(运行在eclipse上的8080和运行在intellij上的9090)在同一台机器上的两个不同端口(8080和9090)上运行,因此两个端口的应用程序监听同一主题。
如何向特定端口使用者获取消息?
例如,如果我的主题收到“hi”消息,它会同时收到我的两个消费者(8080和9090)。
我不希望两个消费者都收到同样的信息。
“hi”消息仅由8080应用程序使用,“hello”消息由9090应用程序使用。
一次只有一个应用程序有机会接收消息,下一次机会是第二个应用程序。就像循环的。你能帮我找到解决这个问题的办法吗?
1条答案
按热度按时间9wbgstp71#
你需要用同样的方法
groupId
对于每个消费者。如果用户使用相同的组id,则只有一个用户将收到消息。具有相同组id的消费者将创建一个称为消费者组的东西。一个使用者组中只有一个使用者可以使用来自某个主题的不同消息,其他使用者将不能使用相同的消息。
您可以在中设置默认组id
application.properties
```spring.kafka.consumer.group-id=test_group