In questa pagina viene spiegato come eseguire la migrazione del codice della coda in modalità pull da code di attività in Pub/Sub. Pub/Sub è ora il modo preferito per eseguire attività in modalità pull nelle code in App Engine.
Se la tua app utilizza sia code in modalità pull sia code in modalità push, utilizza questa guida per eseguire la migrazione
le code in modalità pull a Pub/Sub prima di eseguire la migrazione delle code in modalità push
il nuovo servizio di coda in modalità push
Cloud Tasks. Migrazione delle code in modalità pull
dopo la migrazione delle code in modalità push a Cloud Tasks non è consigliato
perché è probabile che l'utilizzo richiesto del file queue.yaml
provochi
con Cloud Tasks.
Funzionalità attualmente non disponibili in Pub/Sub
Le seguenti funzionalità delle code di attività non sono attualmente disponibili in Pub/Sub:
- Raggruppamento in batch per tag
- Deduplica automatica
Prezzi e quote
La migrazione delle code pull a Pub/Sub potrebbe influire sui prezzi e sulle quote della tua app.
Prezzi
Pub/Sub applica prezzi specifici. Come per le code di attività, l'invio di richieste all'app App Engine con Pub/Sub può comportare costi per l'app.
Quote
Le quote di Pub/Sub sono diverse dalle quote per le code di attività. Come per le code di attività, l'invio di richieste all'app App Engine da Pub/Sub potrebbe influire sulle quote di richiesta di App Engine.
Prima della migrazione
Le sezioni seguenti illustrano i passaggi di configurazione prima di eseguire la migrazione delle code pull a Pub/Sub.
Attivazione dell'API Pub/Sub
Per abilitare l'API Pub/Sub, fai clic su Abilita nella API Pub/Sub nella libreria API. Se viene visualizzato un pulsante Gestisci anziché un pulsante Attiva, significa che hai già attivato l'API Pub/Sub per il tuo progetto e non devi ripetere l'operazione.
Autenticazione dell'app nell'API Pub/Sub
Devi autenticare la tua app nell'API Pub/Sub. Questa sezione illustra l'autenticazione per due diversi casi d'uso.
Per sviluppare o testare l'app localmente, ti consigliamo di utilizzare un account di servizio. Per istruzioni su come configurare un account di servizio e collegarlo alla tua app, leggi Ottenere e fornire manualmente le credenziali dell'account di servizio.
Per eseguire il deployment dell'app su App Engine, non è necessario fornire nuova autenticazione. Le credenziali predefinite dell'applicazione (ADC) deducono l'autenticazione per le app di App Engine.
Download di Google Cloud CLI
Se non l'hai ancora fatto, scarica e installa Google Cloud CLI per utilizzare gcloud CLI con l'API Pub/Sub. Esegui il seguente comando dal terminale se hai già installato Google Cloud CLI.
gcloud components update
Importazione delle librerie client di Cloud
Segui le istruzioni di Pub/Sub per installare il client libreria per utilizzare la libreria client con la tua app.Pub/Sub e code pull
Confronto delle funzioni
Pub/Sub invia il lavoro ai worker tramite un publisher/abbonato relazione tra di noi. Un abbonamento pull in Pub/Sub è simile a una coda pull in Task Queues perché l'abbonato estrae il messaggio dall'argomento. La tabella seguente elenca la funzionalità di base per le code pull in Code di attività e la funzionalità associata per le sottoscrizioni pull in Pub/Sub.
Funzionalità Code di attività | Funzionalità Pub/Sub |
---|---|
Coda | Argomento |
Attività | Messaggio |
Worker | Sottoscrittore |
Per saperne di più sull'architettura di Pub/Sub, consulta Cloud Pub/Sub: un servizio di messaggistica su scala Google.
Confronto dei flussi di lavoro
Di seguito è riportato un confronto tra un flusso di lavoro tipico per una coda pull in Task Queues e una sottoscrizione pull in Pub/Sub.
Flusso di lavoro delle code di attività | Flusso di lavoro Pub/Sub |
---|---|
Tu crei la coda in modalità pull. | Crea l'argomento e iscrivi il tuo sottoscrittore (ovvero il tuo lavoratore) all'argomento |
Creazione e messa in coda dell'attività | Crei il messaggio e lo pubblichi nell'argomento. |
Il worker noleggia l'attività | L'abbonato estrae il messaggio dall'argomento |
Il worker elabora l'attività. | Il sottoscrittore elabora il messaggio |
Il worker elimina l'attività dalla coda | Il sottoscrittore conferma il messaggio |
Scadenza del leasing | L'argomento elimina il messaggio quando tutti i relativi sottoscrittori lo hanno confermato. |
Creazione di sottoscrizioni pull in Pub/Sub
Puoi utilizzare una sottoscrizione pull Pub/Sub come Coda in modalità pull delle code di attività. Le sottoscrizioni a un argomento non scadono e possono esistere contemporaneamente per più worker. Ciò significa che un messaggio può essere elaborati da più di un worker, uno dei principali casi d'uso per in Pub/Sub. Per ricreare il pull delle code di attività, come sottoscrizioni pull Pub/Sub, crea un argomento per ogni worker e sottoscrivi solo il worker associato all'argomento. In questo modo, ogni messaggio viene elaborato da esattamente un worker come avviene nelle code di lavoro. Per scoprire come creare e gestire gli abbonamenti pull, consulta la sezione sulla gestione di argomenti e abbonamenti.
Eliminazione delle code pull
Dopo aver eseguito la migrazione delle code di pull delle code di attività a
sottoscrizioni al pull Pub/Sub, eliminale da
Code di attività utilizzando il file queue.yaml
. È consigliabile eliminare
ciascuna coda in modalità pull prima di eseguire la migrazione di quella successiva. Questo impedisce alla tua app
duplicando il lavoro che riceve dal nuovo pull Pub/Sub
di sottoscrizione durante la migrazione delle altre code in pull. Tieni presente che l'eliminazione delle code pull Task Queues una alla volta anziché in un unico deployment potrebbe avere un effetto maggiore sulla quota di deployment di App Engine.
Dopo aver eliminato tutte le code in modalità pull dalle code di attività, puoi
ometti il file queue.yaml
dai deployment futuri della tua app.
Se la tua app utilizza solo code pull, rimuovi tutti i riferimenti all'API Task Queues nel codice. Se la tua app utilizza sia le code in modalità pull che il push code, puoi rimuovere i riferimenti all'API Task Queues che si verificano in file che utilizzano solo code in modalità pull o attendono di aver eseguito anche la migrazione le code in modalità push e quindi rimuovi i riferimenti all'API Task Queues tutti i file.