Подтвердить что ты не робот

Что такое "режим доставки" в AMQP?

Я понимаю, что доступны 2 варианта:

  • "непостоянный"
  • "Persistent"

Но что это значит?

"Непрерывный", как в: ткань AMQP будет пытаться доставить сообщение, если нет потребителей, сообщение будет удалено?

"Постоянный", как в: AMQP будет повторять сообщение до тех пор, пока потребитель не примет его.

4b9b3361

Ответ 1

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

Ответ 2

delivery_mode в AMQP определяет, будет ли сообщение сохранено на диске после перезапуска брокера. Вы можете отмечать сообщения как постоянные - путем установки delivery_mode property = 2 при публикации сообщения например, в PHP (расширение PECL AMQP):

$exchange->publish($text, $routingKey, null, array('delivery_mode' => 2));

Вам также необходимо объявить очередь как долговечную (или она будет удалена после остановки брокера)

$queue->setFlags(AMQP_DURABLE);