Kafka根据生产者指定的分区将传入的消息进行分割。然后,不同消费者组中的消费者会消耗来自分区的消息。
这种架构使我对将Kafka用作工作/任务队列感到担忧,因为在生产时必须指定分区,这间接限制了哪些消费者可以处理它,因为一个分区只发送给消费者组中的一位消费者。我宁愿在事先不指定分区,以便任何可用于执行该任务的消费者都可以这样做。是否有一种方式在Kafka体系结构中对分区/生产者进行结构化,以便任务可以被下一个可用的消费者拉取,而无需事先通过选择分区来拆分工作?
仅使用此主题的一个分区会将所有任务放入相同的队列中,但是,每个消费者组仅限于1个消费者,因此每个消费者必须在不同的组中。然后,所有任务都分配给每个消费者组,这不是我要寻找的工作队列类型。
Apache Kafka适合用作任务队列吗?