Если я использую подтверждения издателя, я могу (разумно) быть уверенным, что сообщение, отправленное на обмен на сервере RabbitMQ и получившее ACK от сервера RabbitMQ, не потеряно, даже если сервер RabbitMQ выйдет из строя (например, отключение электроэнергии).
Однако что происходит, когда сообщение приходит на обмен недоставленными письмами после ручного отклонения у потребителя? (channel.basicReject, я использую Spring AMQP.)
Могу ли я быть уверен в том, что в случае, когда исходное сообщение удаляется из очереди, которую слушает потребитель, а сервер RabbitMQ впоследствии выходит из строя, я в конечном итоге найду сообщение после перезапуска сервера RabbitMQ в очередях. которые привязаны к обмену мертвыми письмами (если бы обычно сообщение пришло туда)?
Если ответ отрицательный, есть ли способ убедиться в этом?
rabbitmq-users
группе Google, где тусуются инженеры RabbitMQ; они не так внимательно следят за переполнением стека. Если вы получите ответ оттуда, я предлагаю вам добавить его в качестве ответа здесь. - person Gary Russell   schedule 25.06.2019