Хранилище опубликованных сообщений от брокера Mosquitto, когда абонент находится в автономном режиме с QOS=2
Мой издатель и подписчик оба подключены к брокеру mosquitto (paho) с QOS=2 и поддерживают постоянный сеанс с помощью clean_session=false. Когда я публикую сообщение с подписчиком, подключенным к брокеру, оно успешно получено подписчиком, теперь, если я отключу подписчика, затем снова опубликую сообщение и подключу подписчика, после этого я смогу получить сообщение с этими сообщениями, когда мой подписчик был в автономном режиме.
Мой вопрос -
Есть ли в брокере хранилище, в котором хранятся все сообщения, когда абонент находится в автономном режиме.
Если да, сколько времени или сколько сообщений он может хранить.
Является ли этот подход хорошим для отслеживания GPS в реальном времени, когда абонент может оставаться в автономном режиме в течение длительного времени (5-6 часов) ок.
Сохраняется ли постоянство сеанса даже при отключении питания.
Сколько трафика он может обработать для масштабируемого приложения, если я использую этот подход в режиме реального времени отслеживания GPS.
1 ответ
Да, есть файл (mosquitto.db). Вы можете контролировать, где этот файл записывается на диск в файле mosquitto.conf
autosave*
а такжеpersistence*
опцииСообщения хранятся до тех пор, пока есть постоянные сеансы, а ограничение составляет дисковое пространство (или, возможно, 2-4 ГБ для 32-битного москита). Но в любом случае, это много сообщений (если у вас нет глупо больших сообщений)
Это зависит от вашей скорости сообщений и количества издателей / подписчиков
Да, постоянство сеанса сохраняется в том же файле БД, поэтому состояние сохраняется после перезапуска комара.
Опять же, это действительно зависит от того, сколько у вас издателей / подписчиков и какова скорость сообщений.