Computing">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Implémentation API Gateway

Ce document présente un atelier sur l'implémentation d'une API Gateway pour gérer l'accès aux microservices. Il décrit les étapes pour créer un projet Spring Boot, configurer l'API Gateway de manière statique et dynamique, et utilise Eureka pour le load balancing. Les participants doivent répondre à des questions sur la configuration dynamique et explorer les avantages et inconvénients des approches statiques et dynamiques.

Transféré par

Loodyhadss
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues5 pages

Implémentation API Gateway

Ce document présente un atelier sur l'implémentation d'une API Gateway pour gérer l'accès aux microservices. Il décrit les étapes pour créer un projet Spring Boot, configurer l'API Gateway de manière statique et dynamique, et utilise Eureka pour le load balancing. Les participants doivent répondre à des questions sur la configuration dynamique et explorer les avantages et inconvénients des approches statiques et dynamiques.

Transféré par

Loodyhadss
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Année Universitaire : 2025-2026

Applications Web Distribuées

Implémentation « API Gateway»


Objectif
Une API Gateway agit comme un point d'entrée unique pour l'accès aux microservices. Lorsqu'elle reçoit
une requête, elle sélectionne une instance de service disponible et lui transfère la requête. L'objectif de cet
atelier est d'organiser l'appel vers les microservices en utilisant une API Gateway.

Contenu du Workshop

Partie 1 : Création d'un projet API Gateway


Partie 2 : Configuration statique de l'API Gateway
Partie 3 : Configuration dynamique de l'API Gateway avec Eureka
Rendu : Répondre aux questions de la Partie 3 (2.b et 3).

[Link] 1 : Créer un Projet


1. Créez un projet Spring Boot :

1
2. Ajoutez ces deux starters : Eureka Discovery client et Gateway

Vous obtenez ces deux dépendances dans votre [Link] :


<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

3. Faites un maven update project et clean install


4. Au niveau de la classe main spring Boot de votre projet, ajouter l’annotation :
@EnableEurekaClient ou bien @EnableDiscoveryClient

Accédez à l’interface de votre Eureka server : [Link]

2
B. Partie 2 : Utiliser une Configuration Statique
En utilisant une configuration statique, vous n’avez pas besoin d’utiliser l’Eureka Server comme
intermédiaire. L’API Gateway pointera directement vers le microservice.
Pour définir une API Gateway, il y’a deux méthodes de travail :

- Méthode 1 : Ajouter la relation entre Gateway et MS à travers une classe de configuration


Dans la classe main, nous allons créer des routes en ajoutant le code suivant :
@Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder){
return [Link]()
.route("Candidat",r->[Link]("/candidats/**")
.uri("[Link] )
.route("Job", r->[Link]("/jobs/**")
.uri("[Link] )
.build();
}

• Path : c’est le path à utiliser pour accéder au microservice à travers le Gateway


• uri : c’est l’emplacement de microservice
• id : c’est l’id de MS-candidat

NB : dans le fichier [Link], vous ajouter juste le port et le nom de l’application

- Méthode 2 : Ajouter la relation entre Gateway et MS à travers le fichier [Link]

Ajoutez ces lignes dans votre fichier [Link] :

B. Partie 3 : Utiliser une configuration dynamique (avec Eureka


Server)

Pour une configuration dynamique des microservices, nous devons utiliser Eureka. Ce service est
particulièrement utile dans les cas suivants :

- Le microservice peut changer de port ou d’adresse IP (par exemple, dans un environnement cloud ou
un cluster Kubernetes).
- Mise en place d'un load balancing automatique.
- Scalabilité facilitée en ajoutant plusieurs instances d’un microservice de manière transparente.

3
1. Pour définir un API Gateway dynamique, il y’a deux méthodes de travail aussi :

- Méthode 1 : A travers une classe de configuration

- Méthode 2 :A travers le fichier [Link]

2. Visualiser le routage de l’API-Gateway : Activer les logs de routage dans API Gateway
a . Ajouter ces lignes dans [Link] pour afficher les détails des requêtes redirigées par la
Gateway :

[Link]=DEBUG
[Link]=DEBUG

Effet : À chaque requête http envoyée, on verra dans la console quelle instance Eureka a été
sélectionnée.

b. Consulter la partie console et identifier l’algorithme utilisé pour faire le load balancer.

4
3. Chercher les autres types de load balancing existants puis ajouter la configuration nécessaire pour tester
l’algorithme Random en l’appliquant uniquement au service candidat

Quelle approche choisir : statique ou dynamique ?

Approche Utilise Eureka ? Avantages Inconvénients

Pas besoin de connaître l'URL


Dynamique exacte du microservice (utile en Dépendance à Eureka.
Avec ✅ Oui production avec plusieurs Temps de découverte
lb://candidat instances). initial.
Facilite le load balancing.
Statique Avec
Si l'IP/port du microservice
RouteLocator Simple à configurer et rapide.
❌ Non change, la Gateway ne
uri("[Link] Fonctionne même sans Eureka.
pourra plus le trouver.
alhost:8082")

Vous aimerez peut-être aussi