Реализация очереди заданий с rabbitmq

Я создал оболочку rabbitmq, которая публикует сообщения для потребителей, и это работает хорошо.

Могу ли я также создать рабочую очередь (например, gearman) в rabbitmq, которая может распределять долгосрочные задачи среди потребителей, а потребители, в свою очередь, уведомляют издателя о результатах.

Я полагаю, что это потребовало бы, чтобы издатель также выступал в роли потребителя, что я не уверен, как реализовать. (Пожалуйста, поправьте меня, если я ошибаюсь).

Или rabbitmq просто не инструмент для такого случая.

Спасибо,

0

Решение

RabbitMQ поддерживает этот тип шаблона. Посмотрите на Учебник по RPC для начальной загрузки о том, как реализовать этот шаблон.

Это может быть реализовано по-разному в зависимости от ваших потребностей:

  • очередь с прямым ответом, очередь будет создана и использована только для ответа, связанного с запросом
  • статическая очередь ответов, которая будет содержать все ответы

Обычно это подразумевает идентификатор корреляции для сопоставления запроса с ответом, или он может быть без сохранения состояния, если ответ содержит всю необходимую информацию.

Это действительно зависит от ваших потребностей.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]