2015-06-20 8 views
10

Mi chiedo se il messaggio inviato dell'ordine sia conservato. Cioè, quando un editore invia una sequenza di messaggi, ciascun iscritto ha la certezza di ricevere la stessa sequenza che l'editore ha inviato? Per sessioni sia pulite che persistenti?L'ordine dei messaggi è conservato nei messaggi MQTT?

risposta

19

Un riassunto delle capacità di ordinamento dei messaggi in MQTT 3.1.1 è disponibile nella specifica here.

In sintesi:

  • non vengono date garanzie circa la relativa ordinamento dei messaggi pubblicati con diversi valori di QoS. (ad esempio, QoS 0 può prendere in carico QoS 2 ad esempio poiché coinvolge un singolo pacchetto piuttosto che i 4 pacchetti di quest'ultimo).
  • QoS 0 messaggi saranno consegnati in ordine (anche se i messaggi possono perdersi)
  • QoS 2 messaggi saranno consegnati al fine
  • QoS 1 consente i duplicati dei messaggi - è possibile un duplicato arriverà dopo la prima istanza del prossimo messaggio che è stato pubblicato.

QoS 1 l'ordine può essere garantito se il client/broker consente solo un singolo messaggio di volo in qualsiasi momento.

Problemi correlati