Todos os produtos
Search
Central de documentação

Function Compute:Configure verificações de integridade da instância

Última atualização: Jun 29, 2026

Este tópico aborda o contexto, as limitações e o comportamento das verificações de integridade de instâncias de função. Também demonstra como configurá-las no console do Function Compute.

Contexto

Funções que usam runtime personalizado ou imagem de contêiner personalizada podem apresentar instabilidade ocasional e causar comportamento anormal na instância. Para evitar isso, configure verificações periódicas de integridade no Function Compute. Essa configuração impede o roteamento de requisições para instâncias não íntegras e evita falhas.

Limitações

As verificações de integridade têm suporte apenas para Web Function e funções GPU.

Funcionamento das verificações de integridade

Comportamento de inicialização da instância

Ao configurar uma verificação de integridade para uma função, a instância inicia da seguinte forma:

  1. Se a função tiver um hook inicializador, ele executa primeiro. Caso contrário, a plataforma realiza imediatamente a verificação inicial de integridade.

  2. Se a verificação inicial for bem-sucedida, a instância é marcada como íntegra e inicia seu ciclo periódico de verificações. Em caso de falha, considera-se que a instância não iniciou corretamente; o processo de verificação é interrompido e um erro é retornado.

    • Quando o número de falhas consecutivas nas verificações atinge o valor definido em Maximum Failures, a instância passa a ser considerada não íntegra. O Function Compute tenta então rotear as requisições para outras instâncias íntegras.

    • Para uma instância não íntegra, quando o número de verificações bem-sucedidas consecutivas atinge o valor definido em Threshold for Successful Detections, ela volta a ser marcada como íntegra.

Para obter instruções sobre como definir os parâmetros Threshold for Successful Detections e Maximum Failures, consulte Configure verificações de integridade no console.

Comportamento de uma única verificação de integridade

O Function Compute executa cada verificação de integridade individual conforme descrito abaixo:

  1. Envia uma requisição GET para o caminho HTTP especificado na configuração da função.

  2. A verificação é considerada bem-sucedida se a requisição GET retornar um código de status HTTP entre 200 e 399 antes do tempo limite expirar. Caso contrário, a verificação falha.

Agendamento após falha na verificação de integridade

Quando uma instância de função se torna não íntegra, o Function Compute tenta rotear as requisições para outras instâncias.

  • Se o Function Compute rotear a requisição com sucesso, uma nova instância íntegra a executará.

  • Caso o Function Compute não consiga rotear a requisição para outra instância a tempo, ele retorna um erro de falha na verificação de integridade. Na próxima invocação, o sistema tentará agendar a requisição diretamente para uma nova instância de função.

Configure verificações de integridade no console

Esta seção explica como configurar as verificações de integridade para uma função. O exemplo utiliza uma Web Function com o Runtime Node.js 18.

Etapa 1: Crie uma função

  1. Faça login no console do Function Compute e, no painel de navegação à esquerda, selecione Function Management > Functions.

  2. Na barra de navegação superior, selecione uma região. Na página Functions, clique em Create Function.

  3. Na página Create Function, selecione Web Function. Para Custom Runtime, selecione Custom Runtime. Em seguida, clique em Create.

  4. Na página de detalhes da função, selecione a aba Code. Edite o código da função no editor de código e clique em Deploy.

    Veja abaixo o código de exemplo para index.js.

    'use strict';
    
    // Constants
    const PORT = 9000;
    const HOST = '0.0.0.0';
    const REQUEST_ID_HEADER = 'x-fc-request-id'
    
    const express = require('express');
    const bodyParser = require('body-parser');
    const app = express();
    
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(bodyParser.json());
    app.use(bodyParser.raw());
    
    app.get('/readyz', (req, res) => {
      console.log(`receive health check`);
      res.status(200);
      console.log(`i am ready`);
      res.send('i am ready\n');
    });
    
    // invocation
    app.post('/invoke', (req, res) => {
      var rid = req.headers[REQUEST_ID_HEADER]
      console.log(`FC Invoke Start RequestId: ${rid}`)
      res.send('OK');
      console.log(`FC Invoke End RequestId: ${rid}`)
    });
    
    var server = app.listen(PORT, HOST);
    console.log(`Running on http://${HOST}:${PORT}`);
    
    server.timeout = 0; // never timeout
    server.keepAliveTimeout = 0; // keepalive, never timeout

    No código acima, readyz atua como o handler de verificação de integridade. Ele processa requisições HTTP GET enviadas para o caminho /readyz. Após concluir a Etapa 2: Configure verificações de integridade para a instância da função, configure o Function Compute para executar periodicamente esse handler e verificar a integridade da instância.

    Quando o Function Compute identifica que sua instância de função não está íntegra, ele tenta rotear as requisições para outras instâncias íntegras. Se o Function Compute não conseguir realizar esse roteamento, ele retorna um erro relacionado à falha na verificação de integridade.

Etapa 2: Configure verificações de integridade

  1. Faça login no console do Function Compute e, no painel de navegação à esquerda, selecione Function Management > Functions.

  2. Na barra de navegação superior, selecione uma região. Na página Functions, clique na função criada na etapa anterior.

  3. Na página de detalhes da função, selecione a aba Configuration. À direita de Advanced Settings, clique em Modify. No painel Advanced Settings, ative a opção Health Check, configure os parâmetros conforme descrito na tabela a seguir e clique em Deploy.

    Parâmetro

    Descrição

    Request Path

    Caminho para o qual o Function Compute envia uma requisição HTTP GET para verificar a integridade. O valor deve começar com /.

    Delay for First Detection

    Atraso em segundos após a inicialização da instância antes da execução da primeira verificação de integridade.

    Detection Interval

    Intervalo em segundos entre as verificações de integridade.

    Timeout Period

    Tempo limite em segundos para receber uma resposta da verificação de integridade. Se nenhuma resposta for recebida dentro desse período, a verificação falha.

    Maximum Failures

    Quantidade de falhas consecutivas nas verificações necessária para marcar a instância como não íntegra.

    Threshold for Successful Detections

    Número de verificações bem-sucedidas consecutivas exigidas para que uma instância não íntegra seja marcada novamente como íntegra.

Etapa 3: Verifique a verificação de integridade

  1. Na página de configuração da função, selecione a aba Code e clique em Test Function para visualizar o resultado.

    Com o código de exemplo da Etapa 1, a instância da função passa na verificação de integridade e retorna OK.

  2. Substitua o handler de verificação de integridade no código pelo trecho abaixo. Clique em Deploy. Após a implantação do código, clique novamente em Test Function para conferir o resultado.

    O código modificado é apresentado a seguir:

    app.get('/readyz', (req, res) => {
      console.log(`receive health check`);
      res.status(500);
      console.log(`i am not ready`);
      res.send('i am not ready\n');
    });

    Agora, a verificação de integridade sempre falhará com um código de status 500. Ao invocar a função novamente, você receberá a seguinte resposta:

    {
        "RequestId": "1-65081d42-e4895cbc7d6252bda643****",
        "Code": "FunctionNotStarted",
        "Message": "The function http server cannot be started. check function health failed with status code: 500 "
    }

Mais informações

Além do console, o Function Compute também permite usar uma API para configurar verificações de integridade nas instâncias. Para mais detalhes, consulte Atualize configurações de verificação de integridade.