Function Compute admite el uso de Application Load Balancer (ALB) como origen de eventos. Para lograrlo, agregue un grupo de servidores de tipo Function Compute a una instancia de ALB. De esta manera, ALB reenvía las solicitudes a Function Compute e invoca las funciones.
Descripción general
ALB admite agregar Function Compute como servicio de backend. Cuando ALB recibe una solicitud, la reenvía a Function Compute y activa la invocación de una función. Una vez que la función termina de ejecutarse, Function Compute devuelve el resultado como respuesta al solicitante.
ALB y Function Compute (FC) se comunican de forma segura a través de la red interna de Alibaba Cloud.
Funciones principales
Compatibilidad con arquitectura serverless: agregar Function Compute como servicio de backend en ALB simplifica la creación de aplicaciones serverless y reduce los costos de operación y mantenimiento.
Escalado elástico automático: Function Compute ajusta automáticamente los recursos de cómputo según el tráfico. Esto garantiza capacidad suficiente durante los picos de demanda y ahorra recursos en periodos de bajo tráfico.
Alta disponibilidad y tolerancia a fallos: ALB y Function Compute ofrecen en conjunto capacidades de alta disponibilidad y recuperación ante desastres para asegurar el funcionamiento estable de las aplicaciones.
Escenarios
Microservices: utilice las funciones avanzadas de enrutamiento de ALB para dirigir las solicitudes a distintas funciones de microservices. Function Compute escala de forma dinámica para manejar solicitudes con alta concurrencia, lo que mejora la elasticidad y confiabilidad del sistema.
Procesamiento de datos en tiempo real: dirija las solicitudes de procesamiento de datos a través de ALB hacia las funciones correspondientes. Con unas cuantas líneas de código y una configuración sencilla, Function Compute permite procesar datos en tiempo real.
Procesamiento basado en eventos: ALB recibe las solicitudes activadas por eventos y las reenvía a las funciones pertinentes. Function Compute procesa los eventos y almacena los resultados en una base de datos o los envía a otros servicios, lo que habilita flujos de trabajo dinámicos basados en eventos.
Procesamiento de imágenes y videos: ALB recibe las solicitudes de carga de imágenes o videos y las dirige a funciones de procesamiento dedicadas. Function Compute proporciona recursos de cómputo elásticos que escalan automáticamente con la carga de trabajo, lo que garantiza la finalización eficiente de las tareas.
Límites
Para consultar las regiones donde ALB admite agregar Function Compute como servicio de backend, consulte Regions that support attaching Function Compute to ALB.
La instancia de ALB y la función deben estar en la misma región.
Un grupo de servidores de ALB de tipo Function Compute solo admite una función como servidor de backend.
Si el Handler Type de Function Compute 2.0 está configurado como Process event requests, debe configurar un activador HTTP al asociar la función con ALB.
Ejemplo de escenario
Una empresa de comercio electrónico desplegó ALB en una región de Alibaba Cloud para manejar grandes volúmenes de solicitudes de usuarios. A medida que su negocio creció y el tráfico de usuarios aumentó, la empresa necesitaba una forma flexible y eficiente de gestionar tareas como la generación de contenido dinámico, el análisis del comportamiento de los usuarios y las recomendaciones personalizadas.
Para cubrir esta necesidad, la empresa combinó el servicio Function Compute de Alibaba Cloud con ALB. Esta integración permitió manejar dichas tareas de manera eficiente y mejoró significativamente la experiencia del usuario.
Requisitos previos
Debe haber created an ALB instance.
Procedimiento
Paso 1: Crear una función
Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, elija .
En la barra de navegación superior, seleccione una región. En la página Functions, haga clic en Create Function.
-
En la página de detalles de la función, vaya a la pestaña Code y haga clic en Test Function.
Una vez que la ejecución termine correctamente, consulte el resultado de la función en la sección Response. En este ejemplo, el resultado devuelto es
hello world.
En la página Create Function, seleccione el tipo Event Function, elija un entorno de ejecución, seleccione el código de ejemplo predeterminado y mantenga el resto de los parámetros con sus valores predeterminados. Luego, haga clic en Create. Este tema utiliza el entorno de ejecución integrado de Node.js como ejemplo.
Paso 2: Crear un grupo de servidores de tipo Function Compute
En la consola de Application Load Balancer (ALB), elija Server Groups en el panel de navegación izquierdo. En la barra de menú superior, seleccione la región de destino y haga clic en Create Server Group.
-
En el cuadro de diálogo Create Server Group, establezca Server Group Type como Function Compute Type y luego haga clic en Create.
ImportanteCuando ALB health checks están habilitadas, cada sondeo de comprobación de estado cuenta como una solicitud de Function Compute y genera charges.
Introduzca un nombre en Server Group Name, por ejemplo,
fc3.0. En el cuadro de diálogo The server group is created, haga clic en Add Backend Server.
-
En el panel Add Backend Server, seleccione la función que creó y haga clic en OK.
Este tema utiliza Select Resource en Configuration Mode. En Function Name, seleccione la función que creó. Establezca Version como LATEST. Para usar Configure by ARN, primero obtain the function ARN.
Paso 3: Configurar un listener
En el panel de navegación izquierdo, elija y haga clic en el ID de la instancia.
Haga clic en la pestaña Listener y luego en Create Listener.
-
En la página del asistente Configure Listener, configure el protocolo y el puerto del listener, y luego haga clic en Next.
Este tema utiliza el protocolo HTTP y el puerto 80. Mantenga los demás HTTP listener parameters con sus valores predeterminados o modifíquelos según sea necesario.
En la página del asistente Server Group, dentro de la lista desplegable Server Group, elija Function Compute Type, seleccione el grupo de servidores de destino y haga clic en Next.
En la página del asistente Configuration Review, confirme la configuración y haga clic en Submit.
Paso 4: Prueba de conectividad
Después de completar las operaciones anteriores, Function Compute y ALB establecen una conexión. Abra una ventana de línea de comandos y ejecute el comando curl <ALB instance domain name> para comprobar la conectividad entre ALB y Function Compute.
Antes de ejecutar el siguiente comando, reemplace
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.comcon el nombre de dominio real de su instancia de ALB.Si accede a ALB a través de una red privada, asegúrese de que la VPC de su red actual coincida con la VPC de la instancia de ALB.
Si tiene configured domain name resolution para el nombre de dominio de la instancia de ALB y vinculó un nombre de dominio personalizado, reemplace
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.comcon su nombre de dominio personalizado.
curl alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.com
Si obtiene el siguiente resultado, ALB reenvía correctamente las solicitudes a Function Compute e invoca la función.
curl alb-n9p0q18elxxx.alb.aliyuncsslb.com
hello world
Información adicional
En escenarios de producción, utilice un nombre de dominio personalizado. Configure CNAME record resolution para apuntar su nombre de dominio personalizado al nombre de dominio de la instancia de ALB. Después de la configuración, acceda a la función mediante su nombre de dominio personalizado. Antes de vincular un nombre de dominio personalizado, primero register a domain name y complete ICP filing process.
Cuando creating a server group, si las comprobaciones de estado están habilitadas, cada sondeo de comprobación de estado cuenta como una solicitud de Function Compute y genera charges.