Cette rubrique décrit la fonctionnalité d'expiration de session de MQTT 5.0.
Informations générales
Une session contient les informations relatives à une connexion établie entre un appareil et IoT Platform, stockées dans IoT Platform. Ces informations incluent la relation d'abonnement, l'état de l'appareil et les messages mis en cache.
-
Dans MQTT 3.1.1, le paramètre
cleanSessiondéfinit les paramètres de session.cleanSession = true: la session est supprimée lors de l'établissement d'une connexion. L'appareil doit se réabonner à une rubrique et ne reçoit pas les messages QoS 1 stockés dans IoT Platform de manière hybride.cleanSession = false: la session est conservée lors de l'établissement d'une connexion. L'appareil n'a pas besoin de se réabonner à une rubrique et reçoit les messages QoS 1 stockés dans IoT Platform de manière hybride.
Dans MQTT 5.0, le paramètre
cleanSessionest renommécleanStartet la propriétéSession Expiry Intervalest ajoutée. Une session peut être supprimée, conservée ou expirer. Configurez la propriété Session Expiry Interval pour gérer les sessions avec flexibilité. Si vous n'utilisez plus les sessions, supprimez-les afin de réduire la consommation des ressources IoT Platform. Cela permet également de répondre aux exigences des appareils, par exemple en empêchant la réception de messages inattendus. L'un des cas suivants peut se produire selon la combinaison des valeurs de la propriétéSession Expiry Intervalet du paramètrecleanStart:
Si vous ne configurez pas la propriété Session Expiry Interval, la valeur par défaut 0 est utilisée.
Si vous définissez la propriété Session Expiry Interval sur 0xFFFFFFFF, la session n'expire pas.
Scénarios
Appareils fréquemment déconnectés
Si vous supprimez très fréquemment les sessions pour des appareils en mouvement constant, tels que les véhicules, ces derniers doivent s'abonner régulièrement à une rubrique. Le cas 3 illustré dans la figure précédente convient à ce scénario. Si un appareil se reconnecte dans un délai spécifié, réutilisez la session. Si l'appareil ne peut pas se connecter pendant une longue période, supprimez la session. Ainsi, l'appareil ne reçoit pas de messages expirés.
Appareils ne devant perdre aucun message
Pour les appareils financiers, tels que les terminaux de point de vente (POS) et les haut-parleurs de diffusion, les exigences en matière de taux de livraison des messages sont élevées. Le cas 4 illustré dans la figure précédente convient à ce scénario.
Une session reste active depuis son démarrage jusqu'à sa fin. L'appareil correspondant conserve la relation d'abonnement et les messages.
Appareils indépendants de l'état
Pour les appareils tels que les écrans publicitaires, qui diffusent continuellement du nouveau contenu publicitaire sans avoir besoin de recevoir des messages expirés, le cas 1 illustré dans la figure précédente convient à ce scénario.
La suppression des sessions empêche les appareils de recevoir du contenu expiré. Cette approche contribue à réduire la consommation des ressources IoT Platform.