Apache Kafka:我们可以限制只有1个消费者阅读的消息吗?

时间:2016-11-21 10:48:24

标签: apache-kafka messaging kafka-consumer-api

我是Kafka的新手,我尝试使用Apache Kafka实现的方案是:

我有3个制作人正在向Kafka的特定主题发送指令。我有大约35个消费者一次拿起一条指令并执行指令集中提到的任务。完成后,它会将更新发布到Kafka中的另一个主题。

要求。

  1. 不应将1个消费者阅读的指令提供给他人进行处理
  2. 消息优先级* - 不是强制性要求
  3. 一次只能拿起一条指令进行处理。
  4. 我知道这可以使用JMS实现。但是我的组织已经准备好了Kafka设置作为云时代HDFS设置的一部分。因此,最优选使用Kafka实现这一目标。

    我已经用Google搜索,为此寻找解决方案。但我无法找到对我的第一个也是最重要的要求的正确答案。

    有什么建议吗?并提前感谢。!

1 个答案:

答案 0 :(得分:2)

您所要做的就是通过为消费者分配相同的group.id来将消费者放在同一个消费者群体中。只有同一组中的一个消费者实例才会收到消息。

请参阅https://kafka.apache.org/documentation#intro_consumers

上的文档