Como as instâncias são gerenciadas

Instâncias são as unidades computacionais que o App Engine usa para fazer o dimensionamento automático do aplicativo. A qualquer momento, o aplicativo pode estar em execução em uma ou várias instâncias, com solicitações espalhadas por todas elas.

Suas instâncias com dimensionamento manual e básico precisam ser executadas indefinidamente, mas não há garantia de tempo de atividade. Falhas de hardware ou software que causam encerramento antecipado ou reinicializações frequentes podem ocorrer sem qualquer aviso e levar muito tempo para serem solucionadas.

Todas as instâncias flexíveis são reiniciadas semanalmente. Durante os reinícios, atualizações críticas e compatíveis com versões anteriores são automaticamente implementadas no sistema operacional subjacente. A imagem do aplicativo permanecerá a mesma durante as reinicializações.

Verificação de integridade

O App Engine envia solicitações periódicas de verificação de integridade para confirmar que uma instância foi implantada com êxito, além de verificar se uma instância em execução mantém um status de integridade. Todas as verificações de integridade precisam ser respondidas dentro de um intervalo de tempo especificado. Uma instância apresenta problemas na integridade quando não responde a um número especificado de solicitações de verificação de integridade consecutivas. Uma instância com problemas na integridade não receberá qualquer solicitação de clientes, mas as verificações de integridade ainda assim serão enviadas. Se uma instância com problemas de integridade continuar falhando ao responder a um número predeterminado de verificações de integridade consecutivas, ela será reiniciada.

Há dois tipos de verificações de integridade: atualizadas e legadas. As solicitações de verificação de integridade atualizadas são ativadas por padrão e têm valores limite padrão. Você pode personalizar a verificação de integridade adicionando uma seção opcional ao app.yaml do aplicativo. Também é possível desativar totalmente as verificações de integridade.

Qualquer que seja o tipo de verificação de integridade usada, um aplicativo íntegro precisa responder com um código de status HTTP e 200.

Como monitorar o uso de recursos

Na página "Instâncias" do Console do GCP, você tem visibilidade sobre o desempenho das instâncias. Nela, é possível ver o uso que cada instância faz da memória e da CPU, bem como o tempo de atividade, o número de solicitações e outras estatísticas. Você também pode iniciar manualmente o processo de encerramento de qualquer instância.

Local da instância

As instâncias são localizadas automaticamente por região geográfica, de acordo com as configurações do projeto.

Dimensionamento de instâncias

Durante a execução de um aplicativo, as solicitações recebidas são encaminhadas para uma instância existente ou nova do serviço/versão apropriada. O tipo de dimensionamento de um serviço ou versão controla como as instâncias são criadas. As configurações de dimensionamento estão definidas no arquivo app.yaml. Há dois tipos de dimensionamento:

Dimensionamento manual
Um serviço com dimensionamento manual usa instâncias residentes que executam continuamente o número especificado de instâncias, qualquer que seja o nível de carga. Isso permite a realização de tarefas como inicializações complexas e a execução de aplicativos que dependem do estado da memória ao longo do tempo.
Dimensionamento automático
Os serviços de dimensionamento automático usam instâncias dinâmicas criadas com base na taxa de solicitações, nas latências de resposta e em outras métricas do aplicativo. No entanto, se você especificar um número mínimo de instâncias ociosas, esse número será executado como instâncias residentes e todas as outras instâncias serão dinâmicas.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente flexível do App Engine para Go