Sia Cloud Tasks che Pub/Sub possono essere utilizzati per implementare la trasmissione di messaggi e l'integrazione asincrona. Sebbene siano concettualmente simili, ognuno è progettato per diversi insiemi 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 è la nozione di chiamata implicita o esplicita.
Pub/Sub mira a disaccoppiare gli editori di eventi e i sottoscrittori di tali eventi. Gli editori non devono sapere nulla sui loro abbonati. Pertanto, Pub/Sub non fornisce agli editori alcun controllo sulla consegna dei messaggi salvati per la garanzia del recapito. In questo modo, Pub/Sub supporta la chiamata implicit: un editore comporta implicitamente l'esecuzione dei sottoscrittori pubblicando un evento.
Al contrario, Cloud Tasks ha come target una chiamata esplicita in cui l'editore mantiene il controllo completo dell'esecuzione. In particolare, un editore specifica un endpoint in cui ogni messaggio deve essere consegnato.
Nel complesso, le attività Cloud sono appropriate per i casi d'uso in cui un producer di attività deve posticipare o controllare le tempistiche di esecuzione di una specifica chiamata webhook o di procedura remota. Pub/Sub è ideale per pattern di importazione e distribuzione dei dati più generali, in cui un certo grado di controllo sull'esecuzione può essere sacrificato.
Confronto di funzionalità dettagliate
Funzionalità | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Push tramite webhook | Yes | Yes |
Garanzia di consegna almeno una volta | Yes | Yes |
Nuovi tentativi configurabili | Yes | Yes |
Deduplicazione di attività create | Yes | No |
Consegna programmata | Yes | No |
Controlli espliciti delle tariffe | Yes | I client sottoscrittore pull possono implementare il controllo di flusso |
Pull tramite API | No | Yes |
Inserimento collettivo | No | Yes |
Più gestori/iscritti per messaggio | No | Yes |
Conservazione attività/messaggi | 30 giorni | Fino a 7 giorni |
Dimensione massima dell'attività/del messaggio | 1 MB | 10 MB |
Percentuale di pubblicazione massima | 500 QPS/coda | Nessun limite massimo |
Disponibilità geografica | Regionale | Globale |
Durata massima dell'elaborazione del gestore/abbonato | 30 minuti (HTTP) 10 minuti (scalabilità automatica standard di App Engine) 24 ore (scalabilità manuale o di base di App Engine Standard) 60 minuti (Flessibile di App Engine) |
10 minuti per le operazioni push |
Numero di code/sottoscrizioni per progetto | 1000/progetto, più disponibili tramite richiesta di aumento della quota | 10.000 per progetto |