ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Use este documento para entender como estruturar os serviços e recursos relacionados do seu aplicativo do App Engine.
Estrutura do diretório
Cada versão do serviço do App Engine é definida em um
arquivo de configuração
app.yaml
. Para aplicativos simples, o requisito mínimo para implantação é definir o arquivo app.yaml
. O arquivo app.yaml
atua como um descritor de implantação
e define o tipo de escalonamento e o
ambiente de execução, os gerenciadores e outras configurações de recursos
para uma versão específica
de um serviço. Se você pretende implantar várias versões de um serviço, é possível criar vários arquivos YAML no mesmo diretório para representar a configuração de cada uma.
A organização do arquivo depende do tempo de execução do Java que você está usando. Talvez seja necessário um arquivo WAR ou JAR, um para cada serviço no seu aplicativo. Consulte o guia do desenvolvedor do ambiente de execução do Java apropriado para ver detalhes.
Considerações de design sobre o tempo de atividade da instância
Falhas de hardware ou software que causam o encerramento antecipado ou reinicializações frequentes da instância podem ocorrer sem qualquer aviso e levar muito tempo para serem solucionadas. O aplicativo precisa ser capaz de lidar com essas falhas.
Confira algumas boas estratégias para evitar a inatividade devido a reinicializações da instância:
- Reduza o tempo necessário para a reinicialização das instâncias ou para que novas instâncias sejam inicializadas.
- Para cálculos de longa duração, crie checkpoints periodicamente para que seja possível retomar a partir desse estado.
- O aplicativo precisa ser "sem estado" para que nada seja armazenado na instância.
- Use filas para executar tarefas assíncronas.
- Se você configurar as instâncias para escalonamento manual:
- Use o balanceamento de carga em várias instâncias.
- configure mais instâncias do que o necessário para processar o tráfego normal;
- escreva uma lógica de fallback que use resultados em cache quando não houver uma instância de escalonamento manual disponível.
Saiba mais sobre instâncias em Como as instâncias são gerenciadas.
O serviço default
Cada aplicativo do App Engine inclui um serviço default
. É preciso implantar a versão inicial do seu aplicativo no serviço default
antes de criar e implantar mais serviços no seu aplicativo.
O serviço padrão pode ser especificado opcionalmente
em app.yaml
com a configuração
service: default
.
As solicitações enviadas ao app usando o projeto do Cloud são enviadas para
o serviço default
, por exemplo,
https://PROJECT_ID.REGION_ID.r.appspot.com
. Para saber mais sobre como segmentar outros serviços, consulte Comunicação entre serviços.
Arquivos de configuração opcionais
Os arquivos de configuração a seguir controlam recursos opcionais que se aplicam a todos os serviços em um determinado app. Consulte os tópicos a seguir para mais detalhes sobre cada um dos recursos opcionais:
dispatch.yaml
modifica as regras padrão de roteamento enviando solicitações recebidas para um serviço específico com base no caminho ou nome do host no URL.index.yaml
especifica quais índices são necessários para o aplicativo ao usar consultas do Datastore.cron.yaml
configura tarefas programadas regularmente que operam em horários definidos ou em intervalos regulares.
Considerações sobre armazenamento de dados e arquivos
No App Engine, é possível acessar facilmente outros serviços do Google Cloud, como Datastore, Cloud SQL e Cloud Storage.
Também é possível usar um banco de dados externo ou de terceiros caso ele seja compatível com sua linguagem e possa ser acessado na instância do App Engine.
Saiba mais sobre como armazenar arquivos no Google Cloud ou externamente em Noções básicas sobre armazenamento de dados e arquivos.Também é possível escolher como exibir o conteúdo estático. É possível exibir o conteúdo estático do aplicativo a partir do próprio aplicativo no App Engine, hospedá-lo em uma opção do Google Cloud, como o Cloud Storage, ou usar uma rede de fornecimento de conteúdo (CDN) de terceiros. Para mais informações sobre a exibição de conteúdo estático, consulte este artigo.
A seguir
Se você trabalha com vários serviços e quer implantar todos eles juntos, consulte as etapas para implantar vários serviços.