0

我的情况要求下一条消息只有在前一条消息完成处理后才开始处理。(消息处理函数是一个异步函数)。

RabbitMQ 通过 Single Active Consumer 功能和将 prefetch 设置为 1 来满足我的需求。 关于 Single Active Consumer

  • 声明了一个队列,并且一些消费者大致同时注册到它。
  • 第一个注册的消费者成为单一的活跃消费者:消息被分派给它,而其他消费者被忽略。
  • 单个活跃消费者由于某种原因被取消或干脆死亡。其中一个注册的消费者成为新的单一活动消费者,并且消息现在被分派给它。换句话说,队列会自动故障转移到另一个消费者。

,但不能通过 npm 安装。

是否有任何替代队列系统可以做到这一点并且可以通过 npm 安装?

作为我对@paulsm4 的回复我目前不考虑使用 RabbitMQ 的原因是因为我计划将我的应用程序部署到 Heroku,并且希望在不需要使用第三方 RabbitMQ 插件的情况下使其尽可能简单。但是,无论如何我都会使用 Redis,因此任何依赖 Redis 的库都可以。

4

0 回答 0