Каково различие между очередью задачи и очередью сообщений в RabbitMQ?

Мы используем RabbitMQ в качестве очереди сообщений и Сельдерей для очередей задачи, и я пытаюсь перенести голову вокруг очередей.

Кто-то мог возможно объяснить операционные различия между очередью задачи и очередью сообщений мне?

До сих пор я получаю это, очередь сообщений будет использоваться для фактических данных, как отрывок журнала или текстовое сообщение. Это помещается в очередь сообщений, таким образом, рабочий может собрать его и сделать что-то с ним, быть что, анализируя, храня и т.д.

Часть очереди задачи смущает меня, не уверенный, почему или когда или что это сделало бы?

Я думал бы рабочие (иначе задачи?) постоянно опрашивал бы очередь сообщений относительно вещей сделать, итак, почему там очередь задачи?

6
задан 19 February 2015 в 09:19
1 ответ

Не совсем, но близко. Очередь задач в RabbitMQ больше похожа на планировщик задач, например cron или Windows Task Scheduler .

Основная идея рабочих очередей (также известных как очереди задач) заключается в том, чтобы избегать выполнения ресурсоемких задач. немедленно и дождаться его завершения. Вместо этого мы планируем выполнение задачи позже. Мы инкапсулируем задачу как сообщение и отправляем ее в очередь.Рабочий процесс, работающий в фоновом режиме, выдает задачи и в конечном итоге выполняет задание. Когда вы запускаете много рабочих процессов, задачи будут распределяться между ними.

RabbitMQ является брокером сообщений, отсюда и терминология. Так что функционально и функционально особой разницы нет. Один для сообщений, другой для задач / заданий. Единственное реальное отличие состоит в том, что сообщения обычно предназначены для обработки (и, следовательно, удаления из очереди) как можно быстрее, тогда как задачи обычно планируются на определенное время и, следовательно, остаются «в очереди» некоторое время. Вероятно, это не та разница, о которой вам придется слишком беспокоиться в контексте системного администрирования.

3
ответ дан 3 December 2019 в 00:38

Теги

Похожие вопросы