Function Compute prend en charge l'utilisation d'Application Load Balancer (ALB) comme source d'événements. Ajoutez pour cela un groupe de serveurs de type Function Compute à une instance ALB afin de permettre le transfert des requêtes vers Function Compute et l'invocation de fonctions.
Présentation
ALB permet d'ajouter Function Compute comme service backend. À la réception d'une requête, ALB la transfère à Function Compute, ce qui déclenche l'invocation d'une fonction. Une fois l'exécution terminée, Function Compute renvoie le résultat au demandeur sous forme de réponse.
ALB et Function Compute (FC) communiquent de manière sécurisée via le réseau interne d'Alibaba Cloud.
Fonctionnalités clés
Prise en charge de l'architecture serverless : l'ajout de Function Compute comme service backend à ALB simplifie la création d'applications serverless et réduit les coûts d'exploitation et de maintenance.
Mise à l'échelle élastique automatique : Function Compute ajuste automatiquement les ressources de calcul selon le trafic. Cette capacité garantit des ressources suffisantes lors des pics de charge tout en économisant les ressources pendant les périodes de faible activité.
Haute disponibilité et tolérance aux pannes : l'association d'ALB et de Function Compute offre des capacités de haute disponibilité et de reprise après sinistre pour assurer un fonctionnement stable des applications.
Cas d'usage
Microservices : exploitez les fonctionnalités de routage avancées d'ALB pour diriger les requêtes vers différentes fonctions de microservices. Function Compute s'adapte dynamiquement pour gérer les requêtes à forte concurrence, améliorant ainsi l'élasticité et la fiabilité du système.
Traitement des données en temps réel : acheminez les requêtes de traitement des données via ALB vers les fonctions appropriées. Quelques lignes de code et une configuration simple suffisent pour activer le traitement des données en temps réel avec Function Compute.
Traitement événementiel : ALB reçoit les requêtes déclenchées par des événements et les transfère aux fonctions concernées. Function Compute traite ces événements, puis stocke les résultats dans une base de données ou les envoie à d'autres services, permettant ainsi la mise en place de workflows dynamiques pilotés par les événements.
Traitement d'images et de vidéos : ALB réceptionne les requêtes de téléchargement d'images ou de vidéos et les route vers des fonctions de traitement dédiées. Function Compute fournit des ressources de calcul élastiques qui s'adaptent automatiquement à la charge de travail, garantissant ainsi une exécution efficace des tâches.
Limites
Pour connaître les régions où ALB prend en charge l'ajout de Function Compute comme service backend, consultez la rubrique Régions prenant en charge l'attachement de Function Compute à ALB.
L'instance ALB et la fonction doivent se trouver dans la même région.
Un groupe de serveurs ALB de type Function Compute n'accepte qu'une seule fonction comme serveur backend.
Si le Handler Type pour Function Compute 2.0 est défini sur Process event requests, configurez un déclencheur HTTP lors de l'association de la fonction à ALB.
Exemple de scénario
Une entreprise de e-commerce a déployé ALB dans une région Alibaba Cloud pour gérer d'importants volumes de requêtes utilisateurs. Face à la croissance de son activité et à l'augmentation du trafic, elle avait besoin d'une solution flexible et efficace pour gérer des tâches telles que la génération de contenu dynamique, l'analyse du comportement des utilisateurs et les recommandations personnalisées.
Pour répondre à ce besoin, l'entreprise a associé le service Function Compute d'Alibaba Cloud à ALB. Cette intégration a permis de traiter efficacement ces tâches et d'améliorer considérablement l'expérience utilisateur.
Prérequis
Vous avez créé une instance ALB.
Procédure
Étape 1 : Créer une fonction
Connectez-vous à la console Function Compute. Dans le volet de navigation de gauche, choisissez .
Dans la barre de navigation supérieure, sélectionnez une région. Sur la page Functions, cliquez sur Create Function.
-
Sur la page de détails de la fonction, accédez à l'onglet Code et cliquez sur Test Function.
Après une exécution réussie, consultez le résultat de la fonction dans la section Response. Dans cet exemple, le résultat renvoyé est
hello world.
Sur la page Create Function, sélectionnez le type Event Function, choisissez un environnement d'exécution, sélectionnez l'exemple de code par défaut, conservez les valeurs par défaut pour tous les autres paramètres, puis cliquez sur Create. Cette rubrique utilise l'environnement d'exécution Node.js intégré comme exemple.
Étape 2 : Créer un groupe de serveurs de type Function Compute
Dans la console Application Load Balancer (ALB), dans le volet de navigation de gauche, choisissez Server Groups. Dans la barre de menu supérieure, sélectionnez la région de destination et cliquez sur Create Server Group.
-
Dans la boîte de dialogue Create Server Group, définissez Server Group Type sur Function Compute Type, puis cliquez sur Create.
ImportantLorsque les vérifications d'état ALB sont activées, chaque sonde de vérification d'état compte comme une requête Function Compute et entraîne des frais.
Saisissez un nom dans Server Group Name, par exemple
fc3.0. Dans la boîte de dialogue The server group is created, cliquez sur Add Backend Server.
-
Dans le panneau Add Backend Server, sélectionnez la fonction créée et cliquez sur OK.
Cette rubrique utilise le Configuration Mode Select Resource. Pour Function Name, sélectionnez la fonction créée. Définissez Version sur LATEST. Pour utiliser Configure by ARN, commencez par obtenir l'ARN de la fonction.
Étape 3 : Configurer un listener
Dans le volet de navigation de gauche, choisissez et cliquez sur l'ID de l'instance.
Cliquez sur l'onglet Listener, puis cliquez sur Create Listener.
-
Sur la page de l'assistant Configure Listener, configurez le protocole et le port du listener, puis cliquez sur Next.
Cette rubrique utilise le protocole HTTP et le port 80. Conservez les valeurs par défaut pour les autres paramètres du listener HTTP ou modifiez-les selon vos besoins.
Sur la page de l'assistant Server Group, dans la liste déroulante Server Group, choisissez Function Compute Type, sélectionnez votre groupe de serveurs cible, puis cliquez sur Next.
Sur la page de l'assistant Configuration Review, confirmez vos paramètres et cliquez sur Submit.
Étape 4 : Test de connectivité
Une fois les opérations précédentes terminées, Function Compute et ALB sont connectés. Ouvrez une fenêtre de ligne de commande et exécutez la commande curl <ALB instance domain name> pour tester la connectivité entre ALB et Function Compute.
Avant d'exécuter la commande suivante, remplacez
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.compar le nom de domaine réel de votre instance ALB.Si vous accédez à ALB via un réseau privé, assurez-vous que le VPC de votre réseau actuel correspond au VPC de l'instance ALB.
Si vous avez configuré la résolution de nom de domaine pour le nom de domaine de l'instance ALB et associé un nom de domaine personnalisé, remplacez
alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.compar votre nom de domaine personnalisé.
curl alb-n9p0q18eh2pbw****.{region_id}.alb.aliyuncsslb.com
Si vous obtenez la sortie suivante, ALB transfère correctement les requêtes à Function Compute et invoque la fonction.
curl alb-n9p0q18elxxx.alb.aliyuncsslb.com
hello world
Informations complémentaires
Dans les environnements de production, utilisez un nom de domaine personnalisé. Configurez la résolution d'enregistrement CNAME pour pointer votre nom de domaine personnalisé vers le nom de domaine de l'instance ALB. Accédez ensuite à la fonction à l'aide de votre nom de domaine personnalisé. Avant d'associer un nom de domaine personnalisé, commencez par enregistrer un nom de domaine et effectuez la procédure de dépôt ICP.
Lors de la création d'un groupe de serveurs, si les vérifications d'état sont activées, chaque sonde de vérification d'état compte comme une requête Function Compute et entraîne des frais.