Интересно, сохранено ли отправленное сообщение. То есть, когда издатель отправляет последовательность сообщений, каждый абонент гарантирует получение той же последовательности, что и издатель? Для чистых и постоянных сеансов?
Сохраняется ли порядок сообщений в сообщениях MQTT?
Ответ 1
Резюме возможностей упорядочения сообщений в MQTT 3.1.1 можно найти в самой спецификации здесь.
Вкратце:
- никаких гарантий относительно относительного упорядочения сообщений, опубликованных с разными значениями QoS. (например, QoS 0 может превышать QoS 2, например, поскольку он включает в себя один пакет, а не 4 пакета последнего).
- Сообщения QoS 0 будут доставлены по порядку (хотя сообщения могут потеряться)
- Сообщения QoS 2 будут доставлены в порядке
- QoS 1 разрешает дубликаты сообщений - возможно, дубликат будет отправлен после первого экземпляра следующего опубликованного сообщения.
Заказ QoS 1 может быть гарантирован, если клиент/брокер разрешает только один поток сообщений в любое время.