【发布时间】:2016-01-23 15:22:34
【问题描述】:
我们正在寻找一个新的消息传递平台,并将我们的选择范围缩小到 RabbitMQ 或 Kafka。
目前,我倾向于使用 Kafka,但考虑到我们的要求之一,我怀疑这是一个不错的选择。
我们需要有一个被未知数量的消费者消费的队列。也就是说,当“工人”上线进行处理时,我们需要动态添加和删除消费者。此外,工人可能随时下班。
例如,我们可能会启动一个根本没有消费者的队列,然后消费者的数量可能会增长到 30。稍后它可能会增长到 5000 或更多,然后又下降到 3。
我们不关心这个特定用例的消息顺序。卡夫卡适合这个吗?
此外,我们还计划维护一个消费者线程池,以便工作人员可以抓取一条消息并对其进行处理。因此,池中可能有 100 个消费者,而只有 20 个工人。由于消息发送缓冲,我们是否有可能在其他 80 个消费者中得到未在工作人员中使用的消息?换句话说,Kafka 是否像某些消息传递系统那样在请求消费者之前将消息预先传递给消费者?
【问题讨论】:
标签: jms rabbitmq messaging apache-kafka