Choisir entre Cloud Tasks et Cloud Pub/Sub

Cloud Tasks et Cloud Pub/Sub peuvent tous deux être utilisés pour implémenter la transmission de messages et l'intégration asynchrone. Bien qu'ils soient conceptuellement similaires, chaque service est conçu pour différents ensembles de cas d'utilisation. Cette page vous aide à choisir la meilleure option en fonction de votre cas d'utilisation.

Différences majeures

La principale différence entre Cloud Pub/Sub et Cloud Tasks réside dans la notion d'appel implicite et explicite.

Cloud Pub/Sub tend à dissocier les éditeurs d'événements et les abonnés à ces événements. Les éditeurs n'ont pas besoin de savoir quoi que ce soit sur leurs abonnés. Par conséquent, Cloud Pub/Sub ne donne aux éditeurs aucun contrôle sur la distribution des messages, à l'exception de la garantie de livraison. Ainsi, Cloud Pub/Sub propose un appel implicite : un éditeur encourage implicitement les abonnés à l'exécution en publiant un événement.

En revanche, Cloud Tasks implique un appel explicite, qui permet à l'éditeur de conserver le contrôle total de l'exécution. Plus spécifiquement, l'éditeur définit un point de terminaison indiquant l'emplacement de distribution de chaque message.

De manière générale, Cloud Tasks convient aux cas d'utilisation dans lesquels un producteur de tâches doit différer ou contrôler le temps d'exécution d'un appel webhook ou d'une procédure distante spécifique. Cloud Pub/Sub est optimal pour des schémas plus généraux d'ingestion et de distribution de données d'événements, dans lesquels un certain contrôle sur l'exécution peut être sacrifié.

Comparatif détaillé des fonctionnalités

Fonctionnalité Cloud Tasks Cloud Pub/Sub
Transfert via webhooks Oui Oui
Garantie de distribution de type "au moins une fois" Oui Oui
Déduplication de la création de tâches Oui Non
Configuration des nouvelles tentatives d'exécution Oui Non
Planification de la distribution Oui Non
Contrôles des taux explicites Oui Non (Les clients abonnés peuvent implémenter le contrôle de flux.)
Extraction via l'API Non Oui
Insertion de lots Non Oui
Plusieurs gestionnaires/abonnés par message Non Oui
Conservation des tâches/messages 30 jours Jusqu'à 7 jours
Taille maximale des tâches/messages 100 Ko 10 Mo
Rythme de distribution maximal 500 RPS par file d'attente Pas de limite supérieure
Disponibilité géographique Régionale Monde
Durée maximale du traitement push gestionnaire/abonné 30 minutes (HTTP)
10 minutes (scaling automatique standard App Engine)
24 heures (scaling manuel ou de base standard App Engine)
60 minutes (environnement flexible App Engine)
10 minutes pour les opérations push
Nombre de files d'attente/d'abonnements par projet 100 par projet, ou plus via les demandes d'augmentation de quota 10 000 par projet
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation sur Cloud Pub/Sub