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 | Sì | Sì |
Garanzia di consegna almeno una volta | Sì | Sì |
Tentativi ripetuti configurabili | Sì | Sì |
Deduplicazione della creazione di attività | Sì | No |
Consegna pianificata | Sì | 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 | Sì | I client sottoscrittori pull possono implementare il controllo del flusso |
Estrazione tramite API | No | Sì |
Inserimento batch | No | Sì |
Più gestori/sottoscrittori per messaggio | No | Sì |
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 |