Comprendre les niveaux de Qos dans Mqtt: implications pratiques et conseils de conception
MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie léger utilisé dans les applications IoT. Il offre différents niveaux de qualité de service (QoS) pour gérer la fiabilité de la livraison des messages.
Aperçu des niveaux de QS MQTT
Chaque niveau fournit un équilibre différent entre l'assurance de la livraison des messages et les frais généraux du réseau. Le choix de la QoS appropriée dépend des exigences de fiabilité et de la latence de l'application.
Détails de chaque niveau de QoS
QoS 0: Aussi connu sous le nom de « Au plus une fois », ce niveau délivre des messages une fois sans reconnaissance. Il offre la latence la plus faible mais aucune garantie de livraison.
QoS 1: Connu comme « Au moins une fois », il s'assure que les messages sont livrés mais peut entraîner des duplicatas. Il utilise l'accusé de réception pour confirmer la réception.
QoS 2: Appelé «Exactement une fois», fournit le plus haut niveau d'assurance de livraison. Il implique une poignée de mains en quatre étapes pour empêcher les duplicatas.
Incidences pratiques
Le choix du bon niveau QoS a des répercussions sur le trafic réseau, les performances des appareils et la fiabilité des données. Des niveaux QoS plus élevés augmentent les garanties de livraison des messages, mais ajoutent aussi des latences et des frais généraux de traitement.
Conseils de conception pour MQTT QoS
- Évaluer l'importance de la livraison des messages lors de la sélection des niveaux de QS.
- Équilibrer les besoins en matière de fiabilité avec la bande passante du réseau et les contraintes de latence.
- Mettre en oeuvre le traitement approprié des erreurs pour les QoS 1 et 2 pour gérer les duplicatas et les rétries.
- Utilisez des sessions persistantes pour QoS 1 et 2 pour maintenir l'état des messages à travers les connexions.