У меня есть вопрос относительно third RabbitMQ tutorial. Я пытаюсь реализовать что-то подобное, за исключением того, что нет гарантии, что потребитель (ы) будет работать в то время, когда производитель отправляет сообщение на биржу.Доступ к сообщениям обмена, отправленным до того, как очередь связана
Итак, у меня есть продюсер, который публикует сообщения в обмен разветвления:
$channel->exchange_declare('my_exchange', 'fanout', false, false, false);
$channel->basic_publish('my_message', 'my_exchange');
В моих издателей, я объявляю очереди, которые я затем связываются с обменом:
list($queueName,,) = $channel->queue_declare("", false, false, true, false);
$channel->queue_bind($queueName, 'my_exchange');
И это то, где моя проблема имеет корень. В учебнике говорится:
Сообщения будут потеряны, если нет очереди не связан с обменом еще, , но это нормально для нас; если потребитель не слушает, мы можем безопасно отказаться от сообщения.
Есть ли способ как-то сохранить эти сообщения, поэтому при запуске потребителя он будет обращаться к ранее отправленным сообщениям? Единственный способ выяснить, как это сделать, - объявить ту же очередь у моего продюсера и моего издателя, но это как бы поражает цель обмена и отдельных очередей для разных потребителей.