Utiliser Spring Cloud Gateway : Optimisez le routage de vos applications

Utiliser Spring Cloud Gateway : Optimisez le routage de vos applications

Cet article vous présente l’utilisation de VMware Spring Cloud Gateway en conjonction avec le plan Azure Spring Apps Enterprise pour optimiser le routage de vos demandes vers vos applications. Découvrez comment ce composant puissant basé sur le projet open source Spring Cloud Gateway peut résoudre les problèmes transversaux rencontrés par les équipes de développement d’API, tels que l’authentification unique, le contrôle d’accès, la limitation du débit, la résilience et la sécurité.

Les fonctionnalités de Spring Cloud Gateway

Spring Cloud Gateway offre un large éventail de fonctionnalités pour faciliter la gestion des API. Voici quelques-unes de ses caractéristiques principales :

  • Configuration du routage dynamique : vous pouvez gérer les routes de manière indépendante des applications individuelles, ce qui vous permet d’apporter des modifications sans avoir à recompiler.
  • Filtres d’itinéraires d’API : vous pouvez utiliser des filtres pour le transport des revendications JWT autorisées vers les services d’application.
  • Autorisation de certificat client : assurez-vous que seuls les clients autorisés peuvent accéder à vos applications.
  • Limitation du débit : gérez la demande en limitant le nombre de requêtes acceptées par unité de temps.
  • Configuration du disjoncteur : garantissez la résilience de vos applications en configurant des points de rupture.
  • Authentification HTTP de base : accédez aux services d’application en utilisant les informations d’identification d’authentification HTTP de base.

En utilisant Spring Cloud Gateway, vous pouvez accélérer votre processus de livraison d’API en utilisant des modèles modernes basés sur le cloud et en adoptant n’importe quel langage de programmation pour le développement d’API.

LIRE  Comparer les panneaux solaires : comment choisir le meilleur pour vous

Prérequis pour l’utilisation de Spring Cloud Gateway

Avant de commencer à utiliser Spring Cloud Gateway, assurez-vous de disposer des éléments suivants :

  • Un service Azure Spring Apps Enterprise déjà provisionné, avec Spring Cloud Gateway activé. Pour obtenir des instructions détaillées, consultez le guide de démarrage rapide : Créer et déployer des applications sur Azure Spring Apps à l’aide du plan Entreprise.
  • La version 2.0.67 ou ultérieure de l’interface de ligne de commande Azure (Azure CLI). Vous pouvez installer l’extension Azure Spring Apps en utilisant la commande suivante : az extension add -name spring.

Configuration des itinéraires

La configuration des itinéraires est un aspect clé de l’utilisation de Spring Cloud Gateway. Cette section vous explique comment ajouter, mettre à jour et gérer les routes d’API pour vos applications.

La configuration des routes comprend les éléments suivants :

  • URI OpenAPI : il s’agit d’un URI qui fait référence à une spécification OpenAPI. Vous pouvez utiliser un point de terminaison d’URI public ou un URI construit spécifiquement pour votre application.
  • Routes : il s’agit d’une liste de règles d’itinéraire qui dirigent le trafic vers vos applications et appliquent des filtres.
  • Protocole : vous pouvez spécifier le protocole principal (HTTP ou HTTPS) utilisé pour acheminer le trafic vers vos applications.
  • Routes au niveau de l’application : certaines propriétés de routage peuvent être configurées au niveau de l’application pour éviter des répétitions inutiles dans la configuration des routes.

Pour créer une configuration d’itinéraire, utilisez la commande suivante :

az spring gateway route-config create  -name <route-config-name>  -resource-group <resource-group-name>  -service <Azure-Spring-Apps-instance-name>  -app-name <app-name>  -routes-file <routes-file.json>

Voici un exemple de fichier JSON transmis à la commande de création :

{
  "predicates": ["<app-level-predicate-of-route>"],
  "ssoEnabled": false,
  "filters": ["<app-level-filter-of-route>"],
  "openApi": {
    "uri": "<OpenAPI-URI>"
  },
  "protocol": "<protocol-of-routed-app>",
  "routes": [
    {
      "title": "<title-of-route>",
      "description": "<description-of-route>",
      "predicates": ["<predicate-of-route>"],
      "ssoEnabled": true,
      "filters": ["<filter-of-route>"],
      "tags": ["<tag-of-route>"],
      "order": 0
    }
  ]
}

N’hésitez pas à personnaliser ces propriétés selon vos besoins. Vous pouvez également consulter la documentation pour en savoir plus sur les définitions de routes disponibles.

LIRE  Beebs : la solution économique pour équiper votre bébé tout en préservant votre budget

Utilisation des itinéraires avec Spring Cloud Gateway

Voici les étapes à suivre pour créer une application de test utilisant Spring Cloud Gateway :

  1. Utilisez la commande suivante pour créer une application de test appelée “test-app” dans Azure Spring Apps :
az spring app create  name test-app  resource-group <resource-group-name>  service <Azure-Spring-Apps-instance-name>
  1. Affectez un point de terminaison public à la passerelle pour y accéder. Vous pouvez le faire en ouvrant l’instance d’application Azure Spring Apps dans le portail Microsoft Azure, en sélectionnant la section “Spring Cloud Gateway” et en activant l’option “Affecter un point de terminaison”. Une URL sera générée en quelques minutes.

  2. Créez une règle spécifique pour accéder au point de terminaison de contrôle d’intégrité de votre application de test via Spring Cloud Gateway. Vous pouvez utiliser la commande suivante pour appliquer cette règle :

az spring gateway route-config create  -name test-api-routes  -resource-group <resource-group-name>  -service <Azure-Spring-Apps-instance-name>  -app-name test-app  -routes-file test-api.json
  1. Vous pouvez utiliser la commande curl pour accéder à votre point de terminaison de test :
curl https://<endpoint-url>/test/api/healthcheck
  1. Si vous souhaitez consulter les règles d’acheminement, utilisez les commandes suivantes :
az spring gateway route-config show  -name test-api-routes  -query '{appResourceId:properties.appResourceId, routes:properties.routes}'
az spring gateway route-config list  -query '[].{name:name, appResourceId:properties.appResourceId, routes:properties.routes}'

Utilisation des filtres

Spring Cloud Gateway propose de nombreux filtres intégrés et personnalisables pour enrichir vos itinéraires de passerelle. Voici un exemple d’application d’un filtre AddRequestHeadersIfNotPresent à un itinéraire :

[
  {
    "predicates": ["Path=/api/**", "Method=GET"],
    "filters": [
      "AddRequestHeadersIfNotPresent=Content-Type:application/json,Connection:keep-alive"
    ]
  }
]

Utilisez la commande suivante pour appliquer la définition de route :

az spring gateway route-config create  -name <route-config-name>  -resource-group <resource-group-name>  -service <Azure-Spring-Apps-instance-name>  -app <app-name> -routes-file <json-file-with-routes>

N’hésitez pas à consulter la documentation pour en savoir plus sur les filtres d’itinéraire disponibles et leurs utilisations.

LIRE  Guide complet sur la cartographie des processus (avec modèles d’organigrammes et de diagrammes)

Étapes suivantes

Félicitations ! Vous avez maintenant une meilleure compréhension de l’utilisation de Spring Cloud Gateway pour optimiser le routage de vos applications. Pour aller plus loin, explorez les ressources suivantes :

  • Azure Spring Apps : découvrez toutes les fonctionnalités offertes par Azure Spring Apps.
  • Guide de démarrage rapide : Créer et déployer des applications sur Azure Spring Apps à l’aide du plan Entreprise.

N’hésitez pas à expérimenter et à tirer parti de cette puissante solution pour améliorer la gestion de vos API et optimiser vos performances.