我们正在制作一个Kafka Queue,从源系统发布消息。现在,多个消费者可以连接到此队列以阅读消息。
在执行此操作时,消费者必须指定基于其分发消息的groupId,如果两个应用具有相同的groupId,则两者都不会获得消息。
有没有办法可以强制执行每个应用。拥有一个独特的消费者群体ID?
答案 0 :(得分:7)
Kafka不是命名注册表,但您可以使用许多其他策略在没有协调员的情况下分配唯一的组名:
答案 1 :(得分:0)
不,如果不改变Kafka源,就没有办法做到这一点,因为消费者群体是Kafka的一个主要(且非常有价值)功能,可以让你避免使用v0.8中的低级别消费者。当你想要并行化单个主题的消费时(通常来自不同的主机)。
但您可以设置一个向消费者发布名称的独立服务。或者您可以指示所有消费者客户使用随机数作为名称后缀,或类似的东西。