Scegli Cloud Tasks o Pub/Sub

Sia Cloud Tasks che Pub/Sub possono essere utilizzati per implementare il passaggio di messaggi e l'integrazione asincrona, ma anche se funzionano in modo simile, non sono identici. Questa pagina ti aiuta a scegliere il prodotto giusto per il tuo caso d'uso.

Differenze principali

La differenza principale tra Pub/Sub e Cloud Tasks è la nozione di chiamata implicita ed esplicita.

Pub/Sub mira a disaccoppiare i publisher di eventi e gli abbonati a questi eventi. I publisher non devono sapere nulla sui propri iscritti. Di conseguenza, Pub/Sub non offre ai publisher alcun controllo sulla consegna dei messaggi, tranne che per la garanzia della consegna. In questo modo, Pub/Sub supporta l'invocazione implicita: un publisher causa implicitamente l'esecuzione degli abbonati pubblicando un evento.

Al contrario, Cloud Tasks è pensato per l'invocazione esplicita, in cui il publisher mantiene il pieno controllo dell'esecuzione. In particolare, un publisher specifica un endpoint a cui deve essere recapitato ogni messaggio.

Inoltre, Cloud Tasks fornisce strumenti per la gestione delle code e delle attività non disponibili per i publisher Pub/Sub, tra cui:

  • Pianificare orari di consegna specifici
  • Controlli della percentuale di pubblicazione
  • Tentativi ripetuti configurabili
  • Accesso e gestione di singole attività in una coda
  • Deduplicazione della creazione di attività/messaggi

Confronto dettagliato delle funzionalità

Funzionalità Cloud Tasks Cloud Pub/Sub
Push tramite webhook
Garanzia di consegna almeno una volta
Tentativi ripetuti configurabili
Deduplicazione della creazione di attività No
Consegna pianificata No
Consegna ordinata No. L'ordine delle attività in coda viene mantenuto secondo il criterio del "best effort". Sì con chiavi di ordinamento
Controlli delle tariffe espliciti I client sottoscrittori pull possono implementare il controllo del flusso
Estrazione tramite API No
Inserimento batch No
Più gestori/sottoscrittori per messaggio No
Conservazione di attività/messaggi 30 giorni Fino a 31 giorni
Dimensioni massime dell'attività/del messaggio 1 MB 10 MB
Percentuale di pubblicazione massima 500 QPS/coda Nessun limite superiore
Disponibilità geografica Regionale Globale
Durata massima di elaborazione dell'handler/del sottoscrittore push 30 minuti (HTTP)
10 minuti (scalabilità automatica di App Engine Standard)
24 ore (scalabilità manuale o di base di App Engine Standard)
60 minuti (App Engine Flexible)
10 minuti per le operazioni push
Numero di code/iscrizioni per progetto 1000/progetto, altre disponibili tramite richiesta di aumento della quota 10.000/progetto