Les abonnés push sont un type d'abonné Pub/Sub pour lequel les messages sont envoyés depuis Pub/Sub vers un point de terminaison HTTPS spécifié par l'utilisateur. L'utilisateur accuse réception d'un message push en renvoyant une réponse HTTP 200 à la requête du serveur push. Ce document fournit quelques conseils de dépannage courants pour les abonnements push Pub/Sub. Pour en savoir plus sur les abonnements push, consultez le Guide pour les abonnés – Mode push.
Pour surveiller efficacement votre abonnement Pub/Sub, nous vous recommandons de commencer par examiner le score d'état de latence de distribution (subscription/delivery_latency_health_score) afin de vérifier quels facteurs peuvent contribuer à une latence inattendue.
Points de terminaison push défaillants ou lents
Si le point de terminaison renvoie un code de réponse d'erreur, la remise du message est considérée comme ayant échoué et sera réessayée ultérieurement. Cela peut potentiellement entraîner la réception de messages en double par le point de terminaison.
Vous pouvez utiliser plusieurs métriques pour surveiller les abonnements push. La métrique subscription/push_request_count dans Cloud Metrics catégorise les réponses du point de terminaison push par response_code et response_class. Les réponses sont utiles pour identifier les éventuels dysfonctionnements des points de terminaison. Si cette métrique contient des données avec une valeur response_class autre que ack, cela indique que le point de terminaison push renvoie des erreurs à Pub/Sub. Voici quelques-unes des erreurs les plus courantes :
Une classe de réponse
deadline_exceededindique que le point de terminaison push n'a pas répondu dans le délai d'accusé de réception (ack) requis. La métriquesubscription/push_request_latenciespermet de suivre la latence des accusés de réception push.Une classe de réponse
invalidindique que le point de terminaison a renvoyé une réponse que Pub/Sub n'a pas pu comprendre ni traiter correctement.Une classe de réponse
remote_server_4xxindique généralement des problèmes d'authentification ou d'autorisation. Il s'agit de codes de réponse HTTP renvoyés par le point de terminaison. Examinez donc les scénarios dans lesquels ce code de réponse est renvoyé. Si l'authentification est activée, vérifiez que votre compte dispose de l'autorisation appropriée sur le point de terminaison. En savoir plus sur le fonctionnement de l'authentification dans les abonnements pushUne classe de réponse
remote_server_5xxindique un problème côté serveur au niveau du point de terminaison. Le point de terminaison ne peut pas traiter la demande. Cela peut être dû à une maintenance ou à une panne en cours. Vérifiez l'état du serveur qui héberge le point de terminaison.Une classe de réponse
unreachableindique que le serveur de point de terminaison est totalement inaccessible. Vérifiez que l'URL du point de terminaison ne contient pas de fautes de frappe.
En savoir plus sur les codes d'erreur les plus courants de l'API Pub/Sub
Restrictions concernant les abonnements push dans un périmètre VPC-SC
Si la protection VPC Service Controls (VPC-SC) est activée dans un projet, la création d'abonnements push est limitée. Les abonnements push existants continuent de fonctionner, mais lorsque vous créez un abonnement push, l'erreur Request is prohibited by organization's policy s'affiche. Plus précisément, vous ne pouvez créer des abonnements push que si le point de terminaison push est un service Cloud Run utilisant l'URL run.app par défaut. Pour en savoir plus et connaître les limites spécifiques, consultez la documentation Pub/Sub et la documentation VPC-SC.