Устройство RabbitMQ и IoT: держать очередь открытой? - PullRequest
0 голосов
/ 09 ноября 2018

Мы используем RabbitMQ в новом проекте. У нас будут IoT-устройства, взаимодействующие с очередями.

Для устройств для отправки информации в облако мы не видим никаких проблем, однако иногда нам необходимо доставлять сообщения из нашего бэкэнда на устройства IoT. Для этого мы позволяем устройствам открыть эксклюзивную очередь. Это работает отлично, пока устройства находятся в сети. Если это не так, очередь закрывается, и на нее больше нельзя отправлять сообщения.

Есть ли способ сохранить очередь открытой, чтобы сообщения оставались до тех пор, пока устройство IoT не вернется в рабочее состояние?

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

1 Ответ

0 голосов
/ 10 ноября 2018

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

Используйте обычную очередь и убедитесь, что она долговечна, если вы хотите, чтобы она пережила перезапуск RabbitMQ.

Есть ли способ гарантированной доставки, начиная с IoT? устройство.

Это зависит от используемой вами библиотеки, но вы не сообщаете нам, какую библиотеку или какой протокол вы используете (например, AMQP против MQTT).

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

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


ПРИМЕЧАНИЕ: команда RabbitMQ отслеживает rabbitmq-users список рассылки и только иногда отвечает на вопросы о StackOverflow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...