Чи є брокери MQTT, які зберігають на диску QoS 1/2 повідомлення?


12

Наразі EMQ (Erlang MQTT Broker) , схоже, не зберігає на диску QoS 1/2 повідомлень: Як EMQ зберігає повідомлення QoS 1/2?

Тож у разі несподіваного перезавантаження сервера обмеження пам’яті чи інші повідомлення про події можуть бути втрачені, незважаючи на те, що повідомлення рівня QoS 1/2 повинні бути доставлені хоча б або рівно один раз.

Чи є брокери MQTT, які зберігають на диску QoS 1/2 повідомлення, забезпечуючи доставку?


2
Подивіться на iot.stackexchange.com/questions/784/…
hardillb

Відповіді:


9

Я думаю, що Mosquitto зберігає повідомлення на пам'ять на диску.

стійкість [правда | false] Якщо правда, дані про з'єднання, підписку та повідомлення будуть записані на диск у mosquitto.db у місці, продиктованому persistent_location. Після перезапуску комара він перезавантажить інформацію, що зберігається в mosquitto.db. Дані будуть записані на диск, коли комар закриється, а також через періодичні проміжки часу, як визначено autosave_interval. Запис бази даних постійності може також бути вимушеним, відправивши комару сигнал SIGUSR1. Якщо помилково, дані зберігатимуться лише в пам'яті. Типово встановлено значення false.


7

VerneMQ - приклад брокера MQTT, який гарантує доставку прийнятих QoS1 / 2 повідомлень під час запису на диск (за допомогою LevelDB). VerneMQ певним чином схожий на EMQ тим, що він також є відкритим кодом та підтримує кластеризацію (хоча використовує іншу технологію). Повне розкриття, я інженер VerneMQ.


Побічне запитання: Ви пропонували публічному брокеру VerneMQ для тестування та оцінки?
Росс

1
Привіт @Ross, у нас є публічний екземпляр, який працює на public.vernemq.com:1883, але ви не зможете там зробити тестування навантаження, оскільки це працює на невеликій віртуальній машині - тому не чекайте, що він буде дуже ефективним . Він також має обмеження щодо кількості одночасних з'єднань, що походять з одного IP-адреси. Якщо ви хочете, ви можете зв’язатися з нами, і ми будемо раді дізнатися, чи можемо ми підтримати ваш приклад використання. Ви можете написати нам інформацію на адресу vernemq dot com або заповнити контактну форму тут: vernemq.com/services.html
Ларс

1
Дякую, мені не потрібно робити тестування навантаження, аби лише перевірити, чи можу я підключитися до різних брокерів і перевірити, чи є проблеми із сумісністю.
Росс

1
Мені це нагадує, публічна версія відносно стара - я побачу, чи не можу я її оновити до останнього випуску сьогодні.
Ларс Хезель Крістенсен

5

Здається, HiveMQ надає різні варіанти збереження даних сеансу, включаючи повідомлення QoS 1/2.

Варіанти інерційності перераховані тут :

  • Наполегливість файлу
  • Наполегливість в пам'яті

За замовчуванням HiveMQ використовуватиме файл збереження , який зберігає всі дані на диску, щоб їх можна було отримати в будь-який час.

Щоб гарантувати узгодженість даних між перезапусками брокера, HiveMQ використовує постійну дискову стійкість за замовчуванням. Це означає, що навіть якщо брокер зупиняється або виходить з ладу, всі дані будуть збережені, і після перезавантаження брокер може продовжувати свою роботу так, ніби нічого не сталося.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.