MQTT memungkinkan pengirim untuk menetapkan tingkat Kualitas Layanan (QoS), yang memberikan jaminan tertentu tentang apakah pesan akan diterima (dan apakah duplikat diizinkan). Artikel dari HiveMQ ini menyoroti masalah penurunan peringkat , di mana klien dengan tingkat QoS yang lebih rendah tidak akan menerima pesan dengan jaminan yang diminta pengirim:
Seperti yang sudah dikatakan, aliran QoS antara klien penerbitan dan pelanggan adalah dua hal yang berbeda dan QoS dapat berbeda. Itu berarti tingkat QoS dapat berbeda dari klien A, yang mempublikasikan pesan, dan klien B, yang menerima pesan yang diterbitkan. Antara pengirim dan broker QoS ditentukan oleh pengirim. Ketika broker mengirim pesan ke semua pelanggan, QoS langganan dari klien B digunakan.
Apakah MQTT memberikan cara untuk menunjukkan bahwa penurunan versi ini tidak dapat diterima, dan bahwa pesan harus dikirim menggunakan QoS yang diminta pengirim asli? Apakah satu-satunya pilihan untuk memastikan bahwa pengirim dan penerima memiliki pengaturan QoS yang diinginkan sebelum mengirimkan pesan?