具有至少一次传递的持久消息队列

时间:2015-02-10 18:50:02

标签: rabbitmq apache-kafka

我一直在寻找消息队列(目前介于Kafka和RabbitMQ之间)用于我的一个项目,其中最大的项目必须具备功能。

必须具备功能

  • 队列中的消息应该是持久的。 (直到消费者成功处理它们为止。)
  • 仅当下游消费者能够成功处理消息时,才应删除队列中的消息。基本上,消费者应该确认。它成功处理了一条消息。

很高兴有功能

  • 为了提高吞吐量,消费者应该能够从队列中提取一批消息。

1 个答案:

答案 0 :(得分:0)

如果您要使用Kafka,它将仅保留一段可配置的持续时间消息,之后将丢弃消息以释放空间,无论是否消耗。

只是卡夫卡消费者的责任就是跟踪消费的情况。

恕我直言,如果你需要保持消息永久保留,而不是考虑使用不同的存储介质(数据库可能)。