ID da região
O REGION_ID
é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
Uma app do App Engine é composta por um único recurso de aplicação que consiste num ou mais serviços. Cada serviço pode ser configurado para usar tempos de execução diferentes e funcionar com definições de desempenho diferentes. Em cada serviço, implementa versões desse serviço. Cada versão é executada numa ou mais instâncias, consoante o volume de tráfego que configurou para processar.
Componentes de uma aplicação
A sua app do App Engine é criada no seu Google Cloud projeto quando cria um recurso de aplicação. A aplicação do App Engine é um contentor de nível superior que inclui os recursos de serviço, versão e instância que compõem a sua app. Quando cria a sua app do App Engine, todos os recursos são criados na região que escolher, incluindo o código da app, juntamente com uma coleção de definições, credenciais e os metadados da app.
Cada aplicação do App Engine inclui, pelo menos, um serviço, o serviço default
, que pode conter muitas versões, consoante o estado de faturação da sua app.
Para mais informações, consulte a secção Limites abaixo.
O diagrama seguinte ilustra a hierarquia de uma app do App Engine em execução com vários serviços. Neste diagrama, a app tem dois serviços que contêm várias versões, e duas dessas versões estão a ser executadas ativamente em várias instâncias:
Outros Google Cloud serviços, por exemplo, o Datastore, são partilhados na sua app do App Engine. Para mais informações, consulte Estruturar serviços Web.
Serviços
Use serviços no App Engine para dividir as suas apps grandes em componentes lógicos que podem partilhar com segurança funcionalidades do App Engine e comunicar entre si. Geralmente, os seus serviços do App Engine comportam-se como microsserviços. Por conseguinte, pode executar toda a sua app num único serviço ou pode conceber e implementar vários serviços para serem executados como um conjunto de microsserviços.
Por exemplo, uma app que processa os seus pedidos de clientes pode incluir serviços separados que processam diferentes tarefas, como:
- Pedidos de API a partir de dispositivos móveis
- Pedidos internos do tipo de administração
- Processamento de back-end, como pipelines de faturação e análise de dados
Cada serviço no App Engine consiste no código-fonte da sua app e nos ficheiros de configuração do App Engine correspondentes. O conjunto de ficheiros que implementa num serviço representa uma única versão desse serviço e, cada vez que o implementa, está a criar versões adicionais nesse mesmo serviço.
Versões
Ter várias versões da sua app em cada serviço permite-lhe alternar rapidamente entre diferentes versões dessa app para reversões, testes ou outros eventos temporários. Pode encaminhar o tráfego para uma ou mais versões específicas da sua app migrando ou dividindo o tráfego.
Instâncias
As versões nos seus serviços são executadas numa ou mais instâncias. Por predefinição, o App Engine dimensiona a sua app para corresponder à carga. As suas apps aumentam o número de instâncias em execução para oferecer um desempenho consistente ou diminuem o número de instâncias para minimizar as instâncias inativas e reduzir os custos. Para mais informações sobre instâncias, consulte o artigo Como as instâncias são geridas.
Pedidos de aplicações
Cada um dos serviços da sua app e cada uma das versões nesses serviços tem de ter um nome exclusivo. Em seguida, pode usar esses nomes únicos para segmentar e encaminhar o tráfego para recursos específicos através de URLs, por exemplo:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
Tenha em atenção que o comprimento combinado de
VERSION-dot-SERVICE-dot-PROJECT_ID
, em que
VERSION
é o nome da sua versão, SERVICE
é o nome do seu serviço e PROJECT_ID
é o ID do seu
projeto, não pode ter mais de 63 carateres e não pode começar nem terminar com
um hífen. Se o comprimento combinado for superior a 63 carateres, pode ver o erro DNS address could not be
found.
Os pedidos de utilizadores recebidos são encaminhados para os serviços ou as versões que estão configurados para processar o tráfego. Também pode segmentar e encaminhar pedidos para serviços e versões específicos. Para mais informações, consulte o artigo Processar pedidos.
Registo de pedidos de aplicações
Quando a sua aplicação processa um pedido, também pode escrever as suas próprias mensagens de registo em stdout
e stderr
. Para ver detalhes sobre os registos da sua app, consulte o artigo Escrever registos de aplicações.
Limites
O número máximo de serviços e versões que pode implementar depende do preço da sua app:Limite | App gratuita | App paga |
---|---|---|
Número máximo de serviços por app | 5 | 210 |
Número máximo de versões por app | 15 | 210 |
Também existe um limite para o número de instâncias de cada serviço com escalabilidade básica ou manual:
Número máximo de instâncias por versão de escalabilidade manual/básica | ||
---|---|---|
App gratuita | App paga nos EUA | App paga da UE |
20 | 25 (200 para us-central ) |
25 |
Também existe um limite para o número de carateres no URL da sua aplicação.
Descrição | Limite |
---|---|
Número máximo de carateres no URL do projeto para o URL
VERSION-dot-SERVICE-dot-PROJECT_ID |
63 |