Хранилище опубликованных сообщений от брокера Mosquitto, когда абонент находится в автономном режиме с QOS=2

Мой издатель и подписчик оба подключены к брокеру mosquitto (paho) с QOS=2 и поддерживают постоянный сеанс с помощью clean_session=false. Когда я публикую сообщение с подписчиком, подключенным к брокеру, оно успешно получено подписчиком, теперь, если я отключу подписчика, затем снова опубликую сообщение и подключу подписчика, после этого я смогу получить сообщение с этими сообщениями, когда мой подписчик был в автономном режиме.

Мой вопрос -

  1. Есть ли в брокере хранилище, в котором хранятся все сообщения, когда абонент находится в автономном режиме.

  2. Если да, сколько времени или сколько сообщений он может хранить.

  3. Является ли этот подход хорошим для отслеживания GPS в реальном времени, когда абонент может оставаться в автономном режиме в течение длительного времени (5-6 часов) ок.

  4. Сохраняется ли постоянство сеанса даже при отключении питания.

  5. Сколько трафика он может обработать для масштабируемого приложения, если я использую этот подход в режиме реального времени отслеживания GPS.

1 ответ

Решение
  1. Да, есть файл (mosquitto.db). Вы можете контролировать, где этот файл записывается на диск в файле mosquitto.conf autosave* а также persistence* опции

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

  3. Это зависит от вашей скорости сообщений и количества издателей / подписчиков

  4. Да, постоянство сеанса сохраняется в том же файле БД, поэтому состояние сохраняется после перезапуска комара.

  5. Опять же, это действительно зависит от того, сколько у вас издателей / подписчиков и какова скорость сообщений.

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