EMQ (Erlang MQTT Broker) является «распределенная, масштабируемая, расширяемость MQTT брокер сообщений» с сообщенной «1,3 миллиона одновременных соединений MQTT» - так что потенциально позволяет большое количество клиентов , публиковать и подписаться на него. Кажется вероятным, что некоторые клиенты могут быть отключены в любой момент времени.
Как этот вопрос Что произойдет, если Mosquitto не хватит памяти для хранения сообщений QoS 1/2? спрашивает о Москитто:
В MQTT сообщения с QoS 1 или 2 должны доставляться как минимум один раз (сообщения QoS 2 должны доставляться ровно один раз). Если клиент не подключен, брокер должен хранить сообщение до тех пор, пока клиент не будет готов его получить.
Итак, как EMQ сохраняет сообщения QoS 1/2 до доставки, т.е. до перезагрузки брокера или в отношении ограничений памяти?
Ответы:
Кажется, ответ: нет . Эта проблема на их трекере ошибок говорит:
Кроме того, после изучения еще нескольких проблем, я нашел этот отчет :
По сути, начиная с версии 2.0.5:
Не совсем идеально, но это, кажется, текущее поведение, поэтому, если постоянные сообщения имеют решающее значение для вашего варианта использования, используйте другого брокера.
источник