Существуют ли посредники MQTT, которые сохраняют сообщения QoS 1/2 на диск?

11

На данный момент 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

Ответы:

8

Я думаю, что Mosquitto сохраняет сообщения в памяти на диск.

настойчивость [правда | false] Если true, данные о подключении, подписке и сообщении будут записаны на диск в mosquitto.db в месте, определяемом persistence_location. После перезапуска mosquitto он перезагрузит информацию, хранящуюся в mosquitto.db. Данные будут записаны на диск после закрытия москита, а также через определенные промежутки времени, как определено autosave_interval. Запись базы данных постоянства также может быть принудительно отправлена ​​москитом по сигналу SIGUSR1. Если false, данные будут храниться только в памяти. По умолчанию false.

Росс
источник
7

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

Ларс Хезель Кристенсен
источник
Дополнительный вопрос: Вы, ребята, предлагали публичного брокера VerneMQ для тестирования и оценки?
Росс
1
Здравствуйте, @Ross, у нас есть публичный экземпляр, работающий на public.vernemq.com:1883, но вы не сможете выполнить там нагрузочное тестирование, так как оно работает на небольшой виртуальной машине - поэтому не ожидайте, что оно будет очень производительным , Он также имеет ограничения на количество одновременных подключений, исходящих с одного IP. Если вы хотите, чтобы вы могли связаться с нами, мы будем рады узнать, сможем ли мы поддержать ваш вариант использования. Вы можете написать нам по адресу info vernemq dot com или заполнить контактную форму здесь: vernemq.com/services.html
Ларс Хезель Кристенсен,
1
Спасибо, мне не нужно выполнять нагрузочное тестирование, я просто проверяю, могу ли я подключиться к разным брокерам, и вижу, есть ли какие-либо проблемы с совместимостью.
Росс
1
Это напоминает мне, публичная версия относительно старая - я посмотрю, смогу ли я обновить ее до последней версии сегодня.
Ларс Хезель Кристенсен
5

HiveMQ предлагает различные варианты сохранения данных сеанса, включая сообщения QoS 1/2.

Варианты сохранения перечислены здесь :

  • Постоянство файла
  • Постоянство в памяти

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

Чтобы гарантировать согласованность данных между перезапусками посредника, HiveMQ по умолчанию использует постоянство диска. Это означает, что даже в случае остановки или сбоя посредника все данные будут сохранены, и после перезапуска посредник сможет продолжить свою работу, как будто ничего не произошло.

Аврора0001
источник