Scelta di Pub/Sub o Cloud Tasks

Cloud Tasks e Pub/Sub possono essere utilizzati per implementare il passaggio di messaggi e l'integrazione asincrona. Sebbene siano concettualmente simili, ognuna è progettata per un insieme diverso di casi d'uso. 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 risiede nel concetto di invocazione implicita ed esplicita.

Pub/Sub mira a disaccoppiare i publisher di eventi e gli abbonati a questi eventi. I publisher non devono sapere nulla dei propri abbonati. Pertanto, Pub/Sub non offre ai publisher alcun controllo sulla consegna dei messaggi, se non la garanzia di consegna. In questo modo, Pub/Sub supporta l'invocazione implicita: un publisher causa implicitamente l'esecuzione dei sottoscrittori pubblicando un evento.

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

Cloud Tasks è adatto ai casi d'uso in cui un produttore di attività deve posticipare o controllare i tempi di esecuzione di un particolare webhook o chiamata di procedura remota. Pub/Sub è ottimale per pattern di inserimento e distribuzione di dati sugli eventi più generali, in cui è possibile sacrificare un certo grado di controllo sull'esecuzione.

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 al meglio delle possibilità. Sì, con chiavi di ordinamento
Controlli espliciti della frequenza I client pull subscriber possono implementare il controllo del flusso
Recupero tramite API No
Inserimento batch No
Più gestori/sottoscrittori per messaggio No
Conservazione delle attività/dei messaggi 30 giorni Fino a 31 giorni
Dimensione massima dell'attività/del messaggio 1 MB 10 MB
Frequenza massima di pubblicazione 500 QPS/coda Nessun limite superiore
Disponibilità geografica Regionale Globale
Durata massima dell'elaborazione del gestore/sottoscrittore push 30 minuti (HTTP)
10 minuti (scalabilità automatica standard di App Engine)
24 ore (scalabilità manuale o di base standard di App Engine)
60 minuti (App Engine Flexible)
10 minuti per le operazioni di push
Numero di code/sottoscrizioni per progetto 1000 per progetto, altre disponibili tramite richiesta di aumento della quota 10.000 per progetto