Lorsqu'un message est envoyé à un abonné pull, celui-ci doit le traiter et en accuser réception (ACK) dans le délai de confirmation. Sinon, le l'abonné doit prolonger le délai avec un appel pour modifier l'accusé de réception les délais.
Les bibliothèques clientes de haut niveau Pub/Sub proposer une fonctionnalité de gestion du bail qui prolonge automatiquement le délai ; d'un message qui n'a pas encore été confirmé. Par défaut, le client les bibliothèques peuvent étendre le délai à une heure en émettant des modifyAckDeadline requêtes.Les bibliothèques clientes de haut niveau pour Python, Go, Java et .Net utilisent la 99e centile du délai de confirmation afin de déterminer la longueur de chaque .
La gestion des locations vous permet de contrôler plus précisément l'accusé de réception. pour les messages par rapport à la configuration de la propriété au niveau de l'abonnement. Si vous n'utilisez que l'échéance de confirmation au niveau de l'abonnement, vous devez trouver un équilibre entre une valeur faible et une valeur élevée. Une valeur faible augmente la probabilité qu'il y ait des doublons, et une valeur élevée retarde la nouvelle livraison de messages dont le transfert a échoué. Il peut être difficile de déterminer la bonne valeur, lorsque le temps de traitement attendu pour les différents messages varie considérablement.
Pour en savoir plus sur les propriétés d'un abonnement, y compris le délai d'accusé de réception, consultez Propriétés de l'abonnement :
Configuration de la gestion des locations
Vous pouvez configurer les propriétés suivantes dans le fichier bibliothèques clientes de haut niveau la gestion du bail.
Durée maximale de l'extension de la confirmation Durée maximale pendant laquelle vous pouvez prolonger le délai de confirmation d'un message à l'aide de la requête
modify acknowledgment deadline
. Cette propriété vous permet de déterminer la durée pendant laquelle les clients abonnés doivent traiter les messages.Durée maximale de chaque extension de confirmation. Durée maximale pendant laquelle la date limite d'acquittement peut être prolongée pour chacune des requêtes
modify acknowledgment deadline
. Cette propriété vous permet de définir le montant le temps nécessaire à Pub/Sub pour redistribuer un message. La nouvelle diffusion se produit lorsque le premier abonné qui traite le message plante ou devient défaillant et ne peut plus envoyer la requêtemodify acknowledgment deadline
.Durée minimale de chaque extension de confirmation. Le montant minimal de temps supplémentaire pour prolonger le délai d'accusé de réception pour chacune des requêtes
modify acknowledgment deadline
. Cette propriété vous permet de spécifier la valeur minimale laps de temps qui doit s'écouler avant que le message soit redistribué.
Il n'est pas garanti que les délais de confirmation soient respectés, sauf si vous activez la distribution de type "exactement une fois".
Gestion manuelle des délais de confirmation
Pour éviter l'expiration et la nouvelle distribution des messages en cas d'utilisation de la méthode pull unaire ou
bibliothèques clientes de bas niveau, utilisez la requête modify acknowledgment deadline
pour étendre leur accusé de réception
les délais. Les exceptions sont les bibliothèques clientes de haut niveau Go et C++, qui fournissent une gestion des baux lors de l'utilisation de la méthode pull unaire. Consultez les exemples suivants d'extraction unaire avec gestion du bail:
C#
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C# qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Ruby
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Ruby qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Étape suivante
Découvrez les autres options de diffusion que vous pouvez configurer pour un abonnement :
Gérer les échecs de messages avec la stratégie de nouvelle tentative d'abonnement
Transférer les messages non distribués dans une file d'attente de lettres mortes
Relire des messages précédemment confirmés ou supprimer définitivement des messages
Traiter plus de messages avec le contrôle de la simultanéité