Apache Kafka:我们可以限制消息只被 1 个消费者读取吗?
Apache Kafka: Can we restrict message to be read by only 1 consumer?
我是 Kafka 的新手,我尝试使用 Apache Kafka 实现的场景是:
我有 3 个生产者正在向 Kafka 中的特定主题发送指令。我有大约 35 个消费者,他们一次选择一条指令并执行指令集中提到的任务。完成后,它将 post 更新到 Kafka 中的另一个主题。
要求。
- 不应将由 1 个消费者读取的指令提供给另一个消费者进行处理
- 消息优先级 * - 不是强制性要求
- 一次只能选取 1 条指令进行处理。
我知道这可以使用 JMS 来实现。但是我的组织已经准备好 Kafka 设置作为云时代 HDFS 设置的一部分。所以使用Kafka来实现这个是最优选的。
我已经用谷歌搜索来找到解决这个问题的方法。但是我无法为我的第一个也是最重要的要求找到合适的答案。
有什么建议吗?提前致谢!
你所要做的就是通过分配相同的 group.id
来将消费者放在同一个消费者组中。同一组中只有一个消费者实例会收到一条消息。
中的文档
我是 Kafka 的新手,我尝试使用 Apache Kafka 实现的场景是:
我有 3 个生产者正在向 Kafka 中的特定主题发送指令。我有大约 35 个消费者,他们一次选择一条指令并执行指令集中提到的任务。完成后,它将 post 更新到 Kafka 中的另一个主题。
要求。
- 不应将由 1 个消费者读取的指令提供给另一个消费者进行处理
- 消息优先级 * - 不是强制性要求
- 一次只能选取 1 条指令进行处理。
我知道这可以使用 JMS 来实现。但是我的组织已经准备好 Kafka 设置作为云时代 HDFS 设置的一部分。所以使用Kafka来实现这个是最优选的。
我已经用谷歌搜索来找到解决这个问题的方法。但是我无法为我的第一个也是最重要的要求找到合适的答案。
有什么建议吗?提前致谢!
你所要做的就是通过分配相同的 group.id
来将消费者放在同一个消费者组中。同一组中只有一个消费者实例会收到一条消息。