Puoi utilizzare sia Cloud Tasks che Pub/Sub per implementare il passaggio dei messaggi e l'integrazione asincrona, ma sebbene funzionano in modi simili, non sono identici. Questa pagina ti aiuta a scegliere il prodotto più adatto al tuo caso d'uso.
Differenze principali
La differenza principale tra Pub/Sub e Cloud Tasks è il concetto di chiamata implicita ed esplicita.
Pub/Sub mira a disaccoppiare i publisher di eventi e i sottoscrittori a questi eventi. I publisher non hanno bisogno di sapere nulla sui loro iscritti. Di conseguenza, Pub/Sub non offre agli editori alcun controllo sulla consegna dei messaggi, fatta eccezione per la garanzia della consegna. In questo modo, Pub/Sub supporta la chiamata implicita: un publisher causa implicitamente l'esecuzione dei sottoscrittori pubblicando un evento.
Al contrario, Cloud Tasks è finalizzato alle chiamate esplicite in cui l'editore mantiene il pieno controllo dell'esecuzione. In particolare, un editore specifica un endpoint in cui deve essere recapitato ogni messaggio.
Inoltre, Cloud Tasks offre strumenti per la gestione di code e attività non disponibili per i publisher Pub/Sub, tra cui:
- Pianificare tempi di consegna specifici
- Controlli della frequenza di pubblicazione
- Nuovi tentativi configurabili
- Accesso e gestione di singole attività in una coda
- Deduplicazione della creazione di messaggi/attività
Confronto dettagliato delle funzionalità
Funzionalità | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Push tramite webhook | Sì | Sì |
Garanzia di consegna almeno una volta | Sì | Sì |
Nuovi tentativi configurabili | Sì | Sì |
Deduplicazione della creazione di attività | Sì | No |
Consegna pianificata | Sì | No |
Consegna a domicilio effettuata | No. L'ordine delle attività accodate viene conservato secondo il criterio del "best effort". | Sì, con le chiavi di ordinazione |
Controlli delle tariffe esplicite | Sì | I client con sottoscrizione pull possono implementare il controllo del flusso |
Esegui il pull tramite API | No | Sì |
Inserimento batch | No | Sì |
Più gestori/iscritti per messaggio | No | Sì |
Conservazione di attività/messaggi | 30 giorni | Fino a 31 giorni |
Dimensione massima dell'attività/del messaggio | 1 MB | 10 MB |
Frequenza di pubblicazione massima | 500 qps/coda | Nessun limite superiore |
Disponibilità geografica | Regionale | Globale |
Durata massima di elaborazione gestore push/sottoscrittore | 30 minuti (HTTP) 10 minuti (scalabilità automatica standard di App Engine) 24 ore (scalabilità manuale o di base di App Engine) 60 minuti (scalabilità di App Engine standard) |
10 minuti per le operazioni push |
Numero di code/iscrizioni per progetto | 1000/progetto, altro disponibile tramite richiesta di aumento della quota | 10.000/progetto |