Année Universitaire : 2023-2024
Applications Web Distribuées
Implémentation « API Gateway»
Objectif
Lorsque le Gateway reçoit une demande, il sélectionne l'un des emplacements physiques disponibles et
transmet les demandes à l'instance de service réelle. L'ensemble du processus de mise en cache de
l'emplacement des instances de service et du transfert de la demande vers l'emplacement réel est fourni
sans aucune configuration supplémentaire.
L’objectif de cet atelier est d’organiser l’appel vers les microservices.
1- Créez un projet Spring Boot en suivant ses étapes :
2- Ajoutez ces deux starters :
- Eureka Discovery client
- 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
Pour définir une Gateway, il y’a deux méthodes de travail :
• Ajouter la relation entre gateway et MS à travers le fichier [Link]
• Ajouter la relation entre Gateway et MS à travers une classe de configuration
Méthode 1 :
Ajoutez ces lignes dans votre fichier [Link] :
NB : N’oubliez pas de mettre à jour votre fichier si vous utilisezd’autres ports.
Méthode 2 :
- Ajouter la classe Config comme le montre la figure ci-dessous :
- Le contenu de la classe de configuration SpringCloudConfig est le suivant :
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Configuration
public class SpringCloudConfig {
-
@Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder) {
return [Link]()
//Micro-service 1
.route(r -> [Link]("/candidat/**")
.uri("[Link]
.id("candidat-service"))
.build();
}
Path : c’est le path à utiliser pour accéder au MS-candidat à travers le Gateway
URI : c’est l’emplacement de MS-candidat
Id : c’est l’id de MS-candidat
NB : dans le fichier [Link], vous ajouter juste le port et le nom de l’application
5- Accédez à l’interface de votre Eureka server :
[Link]
Vous obtenez le résultat suivant :
6- Testez votre application en utilisant l’url (le numéro de port) de
votre API-Gateway service :
Exemple :