我们使用RabbitMQ作为消息队列,使用芹菜作为任务队列,我正试图将头绕在队列中。
有人能向我解释一下任务队列和消息队列之间的操作差异吗?
到目前为止,我知道消息队列将用于实际数据,比如文本消息或日志片段。它被放置在消息队列中,这样工作人员就可以收集它并使用它做一些事情,比如解析、存储等等。
任务队列部分让我感到困惑,不知道为什么、何时或什么时候会这样做?
我认为工人(AKA任务?)会不断轮询消息队列中要做的事情,那么为什么会有任务队列呢?
发布于 2015-02-18 03:17:42
不完全是,但很接近。兔序中的任务队列更类似于任务调度程序,比如cron或。
工作队列(也称为任务队列)的主要思想是避免立即执行资源密集型任务,而必须等待它完成。相反,我们会安排稍后完成的任务。我们将任务封装为一条消息,并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当您运行许多员工时,任务将在他们之间共享。
RabbitMQ是一个消息代理,因此是术语。所以在操作上,功能上,真的没有太大的区别。一个用于消息,另一个用于任务/作业。唯一真正的区别是消息通常是为了尽可能快地处理(因此从队列中清除),而任务通常是在特定的时间安排的,因此在一段时间内保持“排队”。不过,在系统管理的背景下,这可能没有什么不同,您需要担心太多。
https://serverfault.com/questions/669434
复制相似问题