ID regione
REGION_ID
è un codice abbreviato che Google assegna
in base alla regione selezionata al momento della creazione dell'app. Il codice non
corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare
simili ai codici paese e provincia di uso comune. Per le app create dopo
febbraio 2020, REGION_ID.r
è incluso
negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Un'app di App Engine è composta da una singola risorsa dell'applicazione che consiste in uno o più servizi. Ciascun servizio può essere configurato per utilizzare runtime diversi e operare con impostazioni delle prestazioni diverse. All'interno di ciascun servizio, esegui il deployment delle versions del servizio in questione. Ogni versione viene quindi eseguita all'interno di una o più istanze, a seconda del volume di traffico configurato.
Componenti di un'applicazione
L'app App Engine viene creata nell'ambito del progetto Google Cloud quando crei una risorsa dell'applicazione. L'applicazione App Engine è un container di primo livello che include le risorse di servizio, versione e istanza che compongono la tua app. Quando crei la tua app App Engine, tutte le risorse vengono create nell'regione scelta, incluso il codice dell'app, insieme a una raccolta di impostazioni, credenziali e metadati dell'app.
Ogni applicazione App Engine include almeno un servizio, default
, che può contenere molte versioni, a seconda dello stato di fatturazione dell'app.
Per ulteriori informazioni, consulta la sezione Limiti riportata di seguito.
Il seguente diagramma illustra la gerarchia di un'app App Engine in esecuzione con più servizi. In questo diagramma, l'app include due servizi che contengono più versioni e due di queste versioni sono in esecuzione attivamente su più istanze:
Altri servizi Google Cloud, ad esempio Datastore, sono condivisi nell'intera app App Engine. Per ulteriori informazioni, consulta Struttura dei servizi web.
Servizi
Utilizza i servizi di App Engine per suddividere le app di grandi dimensioni in componenti logici in grado di condividere in modo sicuro le funzionalità di App Engine e comunicare tra loro. In genere, i servizi App Engine si comportano come microservizi. Pertanto, puoi eseguire l'intera app in un unico servizio oppure puoi progettare ed eseguire il deployment di più servizi per l'esecuzione come insieme di microservizi.
Ad esempio, un'app che gestisce le richieste dei clienti potrebbe includere servizi separati, ognuno dei quali gestisce attività diverse, ad esempio:
- Richieste API da dispositivi mobili
- Richieste interne di tipo amministrativo
- Elaborazione di backend come pipeline di fatturazione e analisi dei dati
Ogni servizio in App Engine è costituito dal codice sorgente dell'app e dai file di configurazione di App Engine corrispondenti. L'insieme di file di cui esegui il deployment in un servizio rappresenta una singola versione del servizio e ogni volta che esegui il deployment nel servizio crei versioni aggiuntive all'interno dello stesso servizio.
Versioni
Avere più versioni dell'app all'interno di ciascun servizio consente di passare rapidamente da una versione all'altra per rollback, test o altri eventi temporanei. Puoi instradare il traffico a una o più versioni specifiche dell'app eseguendo la migrazione o suddividendo il traffico.
Istanze
Le versioni all'interno dei tuoi servizi vengono eseguite su una o più istanze. Per impostazione predefinita, App Engine scala la tua app in base al carico. Le app aumenteranno il numero di istanze in esecuzione per fornire prestazioni coerenti oppure fare lo scale down per ridurre al minimo le istanze inattive e i costi. Per ulteriori informazioni sulle istanze, consulta Come vengono gestite le istanze.
Richieste di applicazione
Ogni servizio della tua app e ciascuna delle versioni al loro interno devono avere un nome univoco. Puoi quindi utilizzare questi nomi univoci per scegliere come target e instradare il traffico a risorse specifiche utilizzando gli URL, ad esempio:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
Tieni presente che la lunghezza combinata di VERSION-dot-SERVICE-dot-PROJECT_ID
, dove VERSION
è il nome della versione, SERVICE
è il nome del servizio e PROJECT_ID
è l'ID progetto, non può superare i 63 caratteri e non può iniziare o terminare con un trattino. Se la lunghezza combinata è superiore a 63 caratteri, potresti visualizzare l'errore DNS address could not be
found.
Le richieste utente in entrata vengono instradate ai servizi o alle versioni configurate per gestire il traffico. Puoi anche indirizzare e indirizzare le richieste a servizi e versioni specifici. Per saperne di più, consulta Gestire le richieste.
Logging delle richieste dell'applicazione
Quando la tua applicazione gestisce una richiesta, può anche scrivere i propri messaggi di logging su stdout
e stderr
. Per maggiori dettagli sui log dell'app, vedi Scrittura dei log delle applicazioni.
Limiti
Il numero massimo di servizi e versioni di cui puoi eseguire il deployment dipende dai prezzi della tua app:Limite | App gratuita | App a pagamento |
---|---|---|
Numero massimo di servizi per app | 5 | 210 |
Numero massimo di versioni per app | 15 | 210 |
Esiste anche un limite al numero di istanze per ogni servizio con scalabilità di base o manuale:
Numero massimo di istanze per versione con scalabilità manuale/di base | ||
---|---|---|
App gratuita | App a pagamento Stati Uniti | App a pagamento UE |
20 | 25 (200 per us-central ) |
25 |
Esiste inoltre un limite al numero di caratteri nell'URL dell'applicazione.
Descrizione | Limite |
---|---|
Numero massimo di caratteri nell'URL del progetto per
VERSION-dot-SERVICE-dot-PROJECT_ID URL |
63 |