Rabbitmq запросит все сообщения после перезапуска

После перезапуска сервера rabbitmq или кластера вся очередь восстанавливает все сообщения, даже если сообщения были подтверждены (с момента запуска сервера rabbitmq), и снова обрабатывает все сообщения.

Сведения об очереди

введите здесь описание изображения

Насколько я понимаю, если установить persistenet в аргументах сообщения как false, сообщение не сохранится, если брокер перезапустится. Кроме того, я установил для очереди durabele значение false.

Я пропустил какие-либо другие настройки?


person Gordon    schedule 10.07.2018    source источник


Ответы (1)


Сделать сообщение постоянным true — это нормально, так как вы не хотите потерять сообщение в случае перезапуска rabbitmq. Во-вторых, также хорошо сделать очередь устойчивой, чтобы вы не хотели потерять очередь в случае перезапуска rabbitmq. Я предлагаю проверить код потребителя сообщения, так как похоже, что он не фиксирует транзакцию на своей стороне, делая сообщение доступным в очереди. Что вы можете сделать, так это после использования сообщений, пожалуйста, остановите потребителя и проверьте RabbitMQ, доступны ли сообщения в очереди. Если сообщения все еще доступны в очереди после остановки потребителя, то должна быть какая-то проблема с кодом потребителя.

person Manmay    schedule 10.07.2018