Sia Cloud Tasks sia Pub/Sub possono essere utilizzati per implementare la trasmissione dei messaggi e l'integrazione asincrona. Sebbene siano concettualmente simili, ognuna è progettata per set di casi d'uso diversi. 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 è nella nozione 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 editore 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 publisher specifica un endpoint in cui deve essere recapitato ogni messaggio.
Nel complesso, le attività Cloud Tasks sono appropriate per i casi d'uso in cui un producer di attività deve rimandare o controllare i tempi di esecuzione di uno specifico webhook o una chiamata di procedura remota. Pub/Sub è ottimale per i pattern di importazione e distribuzione dei dati degli eventi più generici in cui è possibile sacrificare un certo grado di controllo sull'esecuzione.
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 |