Aperçu de l'abonnement

Pour recevoir des messages publiés dans un sujet, vous devez créer un abonnement associé à ce sujet. Uniquement les messages publiés dans le sujet après la création de l'abonnement disponibles pour les clients abonnés. Le client abonné reçoit et traite les messages publiés dans le sujet. Un sujet peut être associé à plusieurs abonnements, mais un abonnement donné ne peut être associé qu'à un seul sujet.

La fonctionnalité de conservation des sujets permet à un abonnement associé à un sujet de revenir en arrière dans le temps et relire des messages déjà publiés. Pour en savoir plus sur les dans la rubrique Rouvrir et supprimer définitivement des messages.

Processus d'abonnement

  1. Une fois qu'un message est envoyé à un abonné, celui-ci doit en accuser réception.

  2. Si un message est envoyé pour distribution et qu'un abonné n'a pas encore accusé réception, le message est considéré comme en attente.

  3. Pub/Sub tente à plusieurs reprises de distribuer tout message dont la réception n'a pas encore été confirmée. Cependant, Pub/Sub tente de ne pas diffuser un message en attente à tout autre abonné sur le même abonnement.

  4. L'abonné dispose d'une durée limitée configurable, appelée ackDeadline, pour accuser réception du message en attente. Après la date limite réussi, le message n'est plus considéré comme en attente et Pub/Sub tente de redistribuer le message.

Types d'abonnements

Lorsque vous créez un abonnement, vous devez spécifier le type de diffusion des messages. Pub/Sub propose les types d'abonnements suivants :

  • Les abonnements pull utilisent un client abonné pour demander des messages au serveur Pub/Sub.

  • Les abonnements push utilisent le serveur Pub/Sub pour envoyer des requêtes à votre application d'abonné pour distribuer des messages.

  • L'option Exporter les abonnements vous permet d'exporter vos messages directement vers un ressource Google Cloud. Ces abonnements incluent les suivants :

    • Les abonnements BigQuery exportent des données vers une table BigQuery.

    • Les abonnements Cloud Storage exportent des données vers un bucket Cloud Storage.

Pour choisir l'abonnement adapté à vos besoins, consultez la section Choisir un type d'abonnement. Vous pouvez modifier le type de diffusion des messages d'un abonnement à tout moment après sa création.

Propriétés d'abonnement par défaut

Par défaut, Pub/Sub propose une distribution de type "au moins une fois" garanties de commande sur tous les types d'abonnements. Si les messages ont la même clé de tri et se trouvent dans la même région, vous pouvez également activer le tri des messages. Après avoir défini la propriété de tri des messages, le service Pub/Sub distribue les messages ayant la même clé de tri et selon l'ordre dans lequel le service Pub/Sub reçoit les messages.

Pub/Sub est également compatible avec la distribution de type "exactement une fois".

En général, Pub/Sub distribue chaque message une seule fois et dans l'ordre dans lequel il a été publié. Cependant, les messages peuvent parfois être distribués dans le désordre ou plus d'une fois. Pub/Sub peut renvoyer un message même après qu'une requête d'acquittement du message a été renvoyée. Cette nouvelle diffusion peut être due à des problèmes tels que des redémarrages côté serveur ou des problèmes côté client. Ainsi, bien que rare, un message peut être redistribué à tout moment.

L'application d'une distribution de type "plusieurs fois" nécessite que votre abonné soit idempotent lors du traitement des messages.

Expiration de l'abonnement

Par défaut, les abonnements expirent au bout de 31 jours d'inactivité de l'abonné ou s'il n'y a pas de mises à jour de l'abonnement. Des exemples d'activités d'abonnés incluent les connexions ouvertes, les actions pull actives ou les push réussis. Si Pub/Sub détecte l'activité des abonnés ou une mise à jour de la l'horloge de suppression de l'abonnement redémarre. En utilisant les règles d'expiration de l'abonnement ; vous pouvez configurer la durée d'inactivité ou rendre l'abonnement persistant quelle que soit l'activité. Vous pouvez également supprimer manuellement un abonnement.

Même si vous avez la possibilité de créer des abonnements portant le même nom qu'un abonnement supprimé, sachez que le nouvel abonnement n'aura aucun rapport avec l'ancien, même s'ils ont le même nom. Même si l'abonnement supprimé comportait de nombreux messages non confirmés, un nouvel abonnement créé avec le même nom n'aurait aucun message en attente de distribution au moment de sa création.

Étape suivante