RabbitMQ Эксклюзивная очередь потерянных сообщений

Для потребителя, при объявлении очереди как "исключительной", очередь будет удалена, когда потребитель отключится в соответствии с документацией.

Если в очереди ожидают обработки сообщения и потребитель переходит в автономный режим, все сообщения в этой "исключительной" очереди будут потеряны при удалении очереди.

Существуют ли какие-либо стратегии или способы сделать очередь "эксклюзивной", но сохранить сообщения в очереди / посреднике, чтобы ничего не потеряно?

Заранее спасибо.

1 ответ

Исключительная очередь будет удалена при отключении созданного канала.

То, что вы, вероятно, хотите, это эксклюзивный потребитель, который можно сделать, установив exclusive Параметр в true, когда используется из очереди. Исключительный потребитель гарантирует, что только один потребитель может использовать эту очередь. Он исключает всех других потребителей из очереди после ее использования.

Таким образом, чтобы сделать очередь эксклюзивной для одного потребителя и сохранить сообщения в этой очереди, вы должны:

  • Объявить очередь как прочную
  • Когда производитель публикует сообщение, режим доставки сообщения должен быть постоянным
  • Используйте эксклюзивный потребитель
Другие вопросы по тегам