На данный момент EMQ (Erlang MQTT Broker) , похоже, не сохраняет сообщения QoS 1/2 на диск: как EMQ сохраняет сообщения QoS 1/2?
Таким образом, в случае неожиданной перезагрузки сервера ограничения памяти или другие сообщения о событиях могут быть потеряны, несмотря на то, что сообщения уровня QoS 1/2 должны доставляться как минимум или точно один раз.
Существуют ли MQTT-брокеры, которые сохраняют сообщения QoS 1/2 на диск, обеспечивая тем самым доставку?
Ответы:
Я думаю, что Mosquitto сохраняет сообщения в памяти на диск.
источник
VerneMQ является примером MQTT-брокера, который гарантирует доставку принятых сообщений QoS1 / 2 по мере их записи на диск (используя LevelDB). VerneMQ, в некотором роде, похож на EMQ в том, что он также с открытым исходным кодом и поддерживает кластеризацию (хотя использует другую технологию). Полное раскрытие, я инженер VerneMQ.
источник
HiveMQ предлагает различные варианты сохранения данных сеанса, включая сообщения QoS 1/2.
Варианты сохранения перечислены здесь :
По умолчанию HiveMQ будет использовать постоянство файла , которое сохраняет все данные на диск, чтобы их можно было извлечь в любое время.
источник