Gestión de instancias reservadas
¿Qué es una instancia reservada?
FunctionGraph proporciona instancias reservadas y bajo demanda.
- Las instancias bajo demanda son creadas y liberadas por FunctionGraph según el uso real de la función. Al recibir solicitudes para llamar a funciones, el FunctionGraph asigna automáticamente recursos de ejecución a las solicitudes.
- Las instancias reservadas pueden ser creadas y liberadas por usted según sea necesario. Después de crear instancias reservadas para una función, el FunctionGraph reenvía preferentemente las solicitudes para invocar la función a las instancias reservadas. Si el número de solicitudes excede la capacidad de procesamiento de las instancias reservadas, el FunctionGraph reenviará las solicitudes excesivas a instancias bajo demanda y asignará automáticamente recursos de ejecución a estas solicitudes.
Después de crear instancias reservadas para una función, el código, las dependencias y el inicializador de la función se cargan automáticamente. Las instancias reservadas siempre están activas en el entorno de ejecución y eliminan la influencia de los arranques en frío en sus servicios.
De forma predeterminada, no tiene permisos para usar instancias reservadas. Para usar esta función, envíe un ticket de servicio para agregar su cuenta a la lista blanca.
Puede crear instancias reservadas directamente o crearlas en la página de configuración de funciones. Las diferencias entre los dos modos se describen en la siguiente tabla.
Modo |
Ventajas |
Desventaja |
---|---|---|
Creación directa de instancias reservadas |
Puede crear una instancia reservada con solo unos pocos clics. |
Solo se puede crear un número fijo de instancias reservadas. Las instancias reservadas pueden ser insuficientes durante las horas pico y quedarse inactivas durante las horas fuera de pico. |
Creación de instancias reservadas en la página de configuración de funciones |
Puede crear diferentes números de instancias reservadas para diferentes períodos, evitando el desperdicio de instancias reservadas durante las horas valle y asegurando suficientes instancias reservadas durante las horas pico. |
El procedimiento es complejo. |
Creación directa de un número fijo de instancias reservadas
Antes de crear instancias reservadas, asegúrese de que la función, por ejemplo, Objective-func, para la que desea crear instancias reservadas ya existe en la consola FunctionGraph.
- Inicie sesión en la consola FunctionGraph y elija Functions > Reserved Instances en el panel de navegación.
- Haga clic en Configure Reserved Instance.
- Establezca los siguientes parámetros:
Tabla 2 Información de instancia reservada Parámetro
Descripción
App
Selecciona la aplicación a la que pertenece la función Objective-func.
Function
Seleccione Objective-func.
Version
Seleccione una versión de la función Objective-func.
RI Quantity
Introduzca el número de instancias reservadas que se van a crear.
Para determinar cuántas instancias reservadas crear, vea el número de instancias usadas en el área Instance Statistics o compruebe el uso de la función Objective-func.
- Haga clic en OK.
Después de crear instancias reservadas para una función, sólo puede cambiar la cantidad de instancia reservada.
Creación de instancias reservadas en la página de configuración de funciones
El número de instancias de función varía entre diferentes períodos. Para garantizar suficientes instancias reservadas durante las horas pico y evitar el desperdicio de instancias reservadas durante las horas valle, puede crear un temporizador para invocar la función correspondiente con diferente número de instancias reservadas en diferentes períodos.
Antes de crear instancias reservadas, asegúrese de que la función, por ejemplo, Objective-func, para la que desea crear instancias reservadas ya existe en la consola FunctionGraph.
- Inicie sesión en la consola FunctionGraph y seleccione Functions > Function List en el panel de navegación.
- Haga clic en Create Function.
- Establezca la siguiente información.
Parámetro
Descripción
Template
Selecciona Create from scratch.
Function Name
Introduzca un nombre para identificar la función.
App
Seleccione default.
Agency
Selecciona Use no agency.
Description
Introduzca una descripción para la función. Este parámetro es por elección.
Runtime
Seleccione Python 2.7.
Handler
Ingrese index.handler.
Code Entry Mode
Al crear una función, seleccione Default code. En la página de ficha Configuration, seleccione Edit code inline e introduzca el siguiente 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
Reemplace los siguientes parámetros por los valores reales:
- Endpoint: Endpoint de la función Objective-func.
- project_id: ID del proyecto al que pertenece la función Objective-func. Para obtener más detalles, consulte Obtención de un ID del proyecto.
- func-urn: URN de la función Objective-func.
- Haga clic en Create Now.
- En la página de la ficha Configuration, haga clic en Create Agency.
- Crear una delegación y concederle el permiso de FunctionGraph User. Para más detalles, consulte Configuración de permisos de delegación.
- En la página de ficha Configuration, seleccione la delegación creada en 6 y haga clic en Save.
- En la página de la ficha Triggers, haga clic en Create Trigger.
- Establezca la siguiente información.
Parámetro
Descripción
Trigger Type
Seleccione Timer.
Timer Name
Introduzca un nombre para identificar el temporizador.
Rule
Seleccione Cron expression e introduzca una expresión cron según sea necesario.
Enable Trigger
De forma predeterminada, esta función está habilitada. Conserve la configuración predeterminada.
Additional Information
Introduzca el número de instancias reservadas necesarias en diferentes períodos según la regla del activador.
Figura 1 muestra un activador de temporizador que solicita a FunctionGraph que cree dos instancias reservadas cada 3 minutos.
- Haga clic en OK.
Después de la creación del activador, se crearán diferentes números de instancias reservadas para la función Objective-func en diferentes períodos basados en la regla del activador.