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 | 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 al meglio delle possibilità. | Sì, con chiavi di ordinamento |
Controlli espliciti della frequenza | Sì | I client pull subscriber possono implementare il controllo del flusso |
Recupero tramite API | No | Sì |
Inserimento batch | No | Sì |
Più gestori/sottoscrittori per messaggio | No | Sì |
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 |