1

我最近一直在阅读任务队列和消息队列,我对所有内容如何组合在一起感到有些困惑。

我看到 node-celery 和 node-amqp 都提供了添加到 RabbitMQ 队列的方法。然而,node-celery 被描述为“任务队列”,而 node-amqp 被描述为“RabbitMQ 的客户端”。有什么不同?或者 node-amqp 是否已经提供类似于 Celery 的功能?

另外,RabbitMQ 不是已经有队列了吗?为什么我需要在 RabbitMQ 之上使用 Celery?

4

1 回答 1

3

这里有两个概念:

  • RabbitMQ 是支持 AMQP 的消息总线实现。因此,它是一个通用的消息传递系统,您可以将其用于您喜欢的任何事情(不仅仅是任务)。
  • Celery 是任务管理库/框架,它使用 AMQP(或数据库,如果您将其配置为)在您的代码和工作进程之间进行通信。它处理与任务相关的职责,例如获取任务结果、管理工作进程等。
于 2013-11-18T11:11:46.790 回答