Rabbitmq удаляет сообщения из физического хранилища

У меня есть долговременные обмены и очереди в моем приложении. Сообщения тоже постоянны. Используя эту конфигурацию, я уверен, что мои сообщения хранятся в физической памяти. Я хочу знать, есть ли время истечения, когда rabbitmq удаляет сообщения из моего физического хранилища, я имею в виду жесткий диск, поскольку он поддерживает хранилище сообщений в нем. Также, если я захочу прочитать сообщения из физического хранилища, могу ли я это сделать?

1 ответ

Долгосрочная очередь + Постоянные сообщения означает, что действительно сообщения будут сохранены. Исключения из этого утверждения выходят из головы:

  • вы бы настроили дополнительные свойства для своих очередей, для примера ограничения по размеру
  • вы достигнете предела базовой файловой системы
  • Вы удаляете очереди (это также приведет к удалению хранящихся в нем сообщений)

Что касается чтения сообщений, хранящихся в очередях, вы, как правило, можете их использовать.

Если вы хотите прочитать их без их удаления, у вас будет несколько вариантов:

  • обмануть брокера (например, прочитав все из них, но никогда не признавая их, что привело бы их обратно в очередь)
  • повторно опубликуйте их в брокере для хранения после прочтения

Но если действительно требуется дальнейшее сохранение, я бы серьезно подумал о том, чтобы хранить их где-то еще (в некоторой БД), так как это явно не предназначено для брокера сообщений.

Другие вопросы по тегам