Esistono broker MQTT che persistono i messaggi QoS 1/2 su disco?


11

A partire da ora EMQ (Erlang MQTT Broker) non sembra persistere i messaggi QoS 1/2 su disco: in che modo EMQ persiste i messaggi QoS 1/2?

Pertanto, in caso di riavvio imprevisto del server, i limiti di memoria o altri messaggi di evento potrebbero andare persi nonostante i messaggi di livello QoS 1/2 debbano essere consegnati almeno o esattamente una volta.

Esistono broker MQTT che persistono i messaggi QoS 1/2 su disco garantendo così la consegna?


Risposte:


8

Penso che Mosquitto salvi i messaggi in memoria su disco.

persistenza [vero | false] Se vero, i dati di connessione, sottoscrizione e messaggio verranno scritti sul disco in mosquitto.db nella posizione dettata da persistence_location. Quando mosquitto viene riavviato, ricaricherà le informazioni memorizzate in mosquitto.db. I dati verranno scritti su disco alla chiusura di mosquitto e anche a intervalli periodici come definito da autosave_interval. La scrittura del database di persistenza può anche essere forzata inviando a mosquitto il segnale SIGUSR1. Se falso, i dati verranno archiviati solo in memoria. Il valore predefinito è false.


7

VerneMQ è un esempio di broker MQTT che garantisce la consegna dei messaggi QoS1 / 2 accettati mentre vengono scritti sul disco (usando LevelDB). VerneMQ è, in un certo senso, simile a EMQ in quanto è anche open-source e supporta il clustering (sebbene utilizzi una tecnologia diversa). Informativa completa, sono un ingegnere VerneMQ.


Domanda a margine: voi ragazzi avete offerto broker VerneMQ pubblico per test e valutazione?
Ross,

1
Ciao @Ross, abbiamo un'istanza pubblica in esecuzione su public.vernemq.com:1883, ma non saresti in grado di eseguire test di carico in quanto è in esecuzione su una piccola macchina virtuale - quindi non aspettarti che sia molto performante . Ha anche restrizioni sul numero di connessioni simultanee provenienti da un singolo IP. Se desideri che potresti contattarci e saremo lieti di vedere se possiamo supportare il tuo caso d'uso. Puoi scriverci a info a vernemq dot com o compilare il modulo di contatto qui: vernemq.com/services.html
Lars Hesel Christensen

1
Grazie, non ho bisogno di fare test di carico, solo per verificare che posso collegarmi a diversi broker e vedere se ci sono problemi di compatibilità.
Ross,

1
Questo mi ricorda che la versione pubblica è relativamente vecchia - vedrò se oggi non riesco a farla aggiornare all'ultima versione.
Lars Hesel Christensen il

5

HiveMQ sembra fornire varie opzioni per conservare i dati della sessione, inclusi i messaggi QoS 1/2.

Le opzioni di persistenza sono elencate qui :

  • Persistenza dei file
  • Persistenza in memoria

Per impostazione predefinita, HiveMQ utilizzerà la persistenza dei file , che salva tutti i dati sul disco in modo che possano essere recuperati in qualsiasi momento.

Per garantire la coerenza dei dati tra i riavvii del broker, HiveMQ utilizza la persistenza del disco per impostazione predefinita. Ciò significa che anche se il broker si arresta o si arresta in modo anomalo, tutti i dati verranno conservati e dopo un riavvio il broker potrà continuare a funzionare come se nulla fosse successo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.