Наше приложение использует RabbitMQ только с одним узлом. Он запускается в одном модуле Kubernetes.
Мы используем устойчивые / постоянные очереди, но каждый раз, когда наш облачный экземпляр отключается и восстанавливается, а модуль RabbitMQ перезапускается, наши существующие устойчивые / постоянные очереди исчезают.
Сначала я подумал, что проблема в том, что объем, на котором хранились очереди, не был постоянным, но оказалось, что это не так.
Похоже, что данные очереди хранятся в /var/lib/rabbitmq/mnesia/<user@hostname>
. Поскольку имя хоста модуля меняется каждый раз, он создает новый набор данных для нового имени хоста и теряет доступ к ранее сохраненной очереди. У меня есть много наборов файлов, созданных в папке mnesia, все из предыдущих перезапусков.
Как я могу предотвратить такое поведение?
Ближайший ответ, который я смог найти, находится в этом вопросе, но если я правильно его прочитал, это будет работать, только если у вас есть несколько узлов в кластере одновременно, совместно использующие данные очереди. Я не уверен, что это сработает с одним узлом. Или нет?