Мы используем RabbitMQ в новом проекте. У нас будут IoT-устройства, взаимодействующие с очередями.
Для устройств для отправки информации в облако мы не видим никаких проблем, однако иногда нам необходимо доставлять сообщения из нашего бэкэнда на устройства IoT. Для этого мы позволяем устройствам открыть эксклюзивную очередь. Это работает отлично, пока устройства находятся в сети. Если это не так, очередь закрывается, и на нее больше нельзя отправлять сообщения.
Есть ли способ сохранить очередь открытой, чтобы сообщения оставались до тех пор, пока устройство IoT не вернется в рабочее состояние?
Наоборот: есть ли способ гарантированной доставки, начиная с устройства IoT. Например: измерения энергии каждые 15 минут. Если соединение разрывается, сообщения должны храниться на диске (чтобы предотвратить потерю сообщений в случае отключения питания). Они отправляются позже, когда соединение возвращается в онлайн. Существует ли служба или клиентская библиотека, которая реализует это, или нам нужно разрабатывать это самостоятельно?