Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> FunctionGraph> Guia de usuário> Gerenciamento de instâncias reservadas
Atualizado em 2022-11-16 GMT+08:00

Gerenciamento de instâncias reservadas

O que é uma instância reservada?

O FunctionGraph fornece instâncias sob demanda e reservadas.

  • As instâncias sob demanda são criadas e liberadas pelo FunctionGraph com base no uso real da função. Ao receber solicitações para chamar funções, o FunctionGraph aloca automaticamente recursos de execução para as solicitações.
  • As instâncias reservadas podem ser criadas e liberadas por você, conforme necessário. Depois de criar instâncias reservadas para uma função, o FunctionGraph encaminha preferencialmente solicitações para as instâncias reservadas. Se o número de solicitações exceder a capacidade de processamento das instâncias reservadas, o FunctionGraph encaminhará as solicitações excessivas para instâncias sob demanda e alocará automaticamente recursos de execução a essas solicitações.

    Depois que as instâncias reservadas são criadas para uma função, o código, as dependências e o inicializador da função são carregados automaticamente. As instâncias reservadas estão sempre vivas no ambiente de execução, eliminando a influência de cold starts em seus serviços.

    Para usar instâncias reservadas, envie um ticket de serviço para adicionar sua conta à lista de permissões.

Você pode criar instâncias reservadas diretamente ou criá-las na página de configuração da função. As diferenças entre os dois modos são descritas na tabela a seguir.

Tabela 1 Diferenças entre os dois modos

Modo

Vantagem

Desvantagem

Criação de instâncias reservadas diretamente

Você pode criar uma instância reservada com apenas alguns cliques.

Apenas um número fixo de instâncias reservadas pode ser criado. As instâncias reservadas podem ser insuficientes durante o horário de pico e ficar ociosas durante o horário fora do horário de pico.

Criação de instâncias reservadas na página de configuração da função

Você pode criar diferentes números de instâncias reservadas para diferentes períodos, evitando o desperdício de instâncias reservadas durante os horários de pico e garantindo instâncias reservadas suficientes durante os horários de pico.

O procedimento é complexo.

Criação de Diretamente um Número Fixo de Instâncias Reservadas

Verifique se a função, por exemplo, Objective-func, para a qual você deseja criar instâncias reservadas já existe no console do FunctionGraph.

  1. Faça login no console do FunctionGraph e escolha Functions > Reserved Instances no painel de navegação.
  2. Clique em Configure Reserved Instance.
  3. Defina os seguintes parâmetros:
    Tabela 2 Informações de instância reservadas

    Parâmetro

    Descrição

    Aplicação

    Selecione o aplicativo ao qual a função Objective-func pertence.

    Função

    Selecione Objective-func.

    Versão

    Selecione uma versão da função Objective-func.

    Quantidade de RI

    Informe o número de instâncias reservadas a serem criadas.

    Para determinar quantas instâncias reservadas devem ser criadas, visualize o número de instâncias usadas na área Instance Statistics ou verifique o uso da função Objective-func.

  4. Clique em OK.

    Depois de criar instâncias reservadas para uma função, você só pode alterar a quantidade de instâncias reservadas.

Criação de Instâncias Reservadas na Página Configuração da Função

O número de instâncias de função varia entre diferentes períodos. Para garantir instâncias reservadas suficientes durante os horários de pico e evitar o desperdício de instâncias reservadas durante os horários de pico, você pode criar um temporizador para invocar a função correspondente com um número diferente de instâncias reservadas em períodos diferentes.

Verifique se a função, por exemplo, Objective-func, para a qual você deseja criar instâncias reservadas já existe no console do FunctionGraph.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique em Create Function.
  3. Defina as seguintes informações.

    Parâmetro

    Descrição

    Modelo

    Selecione Create from scratch.

    Nome da função

    Insira um nome para identificar a função.

    Aplicação

    Selecione default.

    Agência

    Selecione Use no agency.

    Descrição

    Insira uma descrição para a função. Este parâmetro é opcional.

    Tempo de execução

    Selecione Python 2.7.

    Manuseador

    Insira index.handler.

    Modo de entrada de código

    Ao criar uma função, selecione Default code. Na página de guia Configuration, selecione Edit code inline e digite o seguinte código:

    # -*- coding:utf-8 -*-
    import json
    import requests
    def handler (event, context):
        domainId = "https://{Endpoint}"
        url = "/v2/{project_id}/fgs/functions/{func-urn}/reservedinstances"
        token = context.getToken()
        requrl = domainId + url
        headerdata = {"Content-Type":"application/json","x-auth-token":token}
        r = requests.put(requrl, data=event["user_event"], headers=headerdata,verify=False)
        return r.json

    Substitua os seguintes parâmetros pelos valores reais:

    • Endpoint: Ponto final da função Objective-func. Para obter detalhes, consulte Regiões e endpoints.
    • id_do_projeto: ID do projeto ao qual a função Objective-func pertence. Para obter detalhes, consulte Obtenção de um ID de projeto.
    • func-urna: URN da função Objective-func.
  4. Clique em Create Now.
  5. Na página de guia Configuration, clique em Create Agency.
  6. Crie uma agência e conceda a ela a permissão Usuário FunctionGraph User. Para mais detalhes, veja Configuração das permissões de agência.
  7. Na página de guia Configuration, selecione a agência criada em 6 e clique em Save.
  8. Na página de guia Triggers, clique em Create Trigger.
  9. Defina as seguintes informações.

    Parâmetro

    Descrição

    Tipo de fatilho

    Selecione Timer.

    Nome do temporizador

    Digite um nome para identificar o temporizador.

    Regra

    Selecione Cron expression e insira uma expressão cron conforme necessário.

    Ativar gatilho

    Por predefinição, esta função está ativada. Mantenha a configuração padrão.

    Informações adicionais

    Informe o número de instâncias reservadas necessárias em períodos diferentes com base na regra de gatilho.

    Figura 1 Criação de um gatilho de timer

    Figura 1 mostra um acionador de temporizador que solicita que o FunctionGraph crie duas instâncias reservadas a cada 3 minutos.

  10. Clique em OK.

    Após a criação do gatilho, diferentes números de instâncias reservadas serão criados para a função Objective-func em diferentes períodos com base na regra do gatilho.