Mit MQTT können Absender eine QoS-Stufe ( Quality of Service ) festlegen , die bestimmte Garantien dafür bietet, ob eine Nachricht empfangen wird (und ob Duplikate zulässig sind). Dieser Artikel von HiveMQ hebt das Problem des Downgrades hervor , bei dem ein Client mit einer niedrigeren QoS-Stufe die Nachricht nicht mit den Garantien erhält, die der Absender angefordert hat:
Wie bereits erwähnt, sind die QoS-Flüsse zwischen einem Veröffentlichungs- und einem Abonnement-Client zwei verschiedene Dinge, und die QoS kann unterschiedlich sein. Dies bedeutet, dass sich die QoS-Ebene von Client A, der eine Nachricht veröffentlicht, und Client B, der die veröffentlichte Nachricht empfängt, unterscheiden kann. Zwischen dem Absender und dem Broker wird die QoS vom Absender definiert. Wenn der Broker die Nachricht an alle Abonnenten sendet, wird die QoS des Abonnements von Client B verwendet.
Does MQTT bieten eine Möglichkeit , darauf hinweist , dass diese Herabstufung nicht akzeptabel ist, und dass die Nachricht muss geliefert werden , um den ursprünglichen Absender angeforderten QoS verwenden? Ist die einzige Option, um sicherzustellen, dass sowohl der Sender als auch der Empfänger die gewünschte QoS-Einstellung haben, bevor die Nachricht gesendet wird?