node.js - RabbitMQ 的 node-celery 与 node-amqp

标签 node.js rabbitmq celery

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

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

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

最佳答案

这里有两个概念:

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

关于node.js - RabbitMQ 的 node-celery 与 node-amqp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965905/

相关文章:

python - 如何在 Django 设置中配置 CELERYBEAT_SCHEDULE?

python - 从 Django 数据库中删除重复对象的最佳方法是什么

python - Celery任务无法通过channel_layer.send调用Channels消费者

java - RabbitMQ:在 Node.js 中发布,在 Java 中订阅

node.js - 使用发送事件以编程方式创建的 Dropzone 发送附加数据

node.js - 问题模拟 Node 模块

javascript - Nodejs Sequelize中循环获取异步数据

java - 如何在 spring-amqp 请求/回复消息中设置回复的内容类型?

rabbitmq - MassTransit 不发送消息 - RabbitMQ

node.js - 为什么node.js bodyParser总是返回 'undefined'?