Qu’est-ce que Zuul ?
Zuul Server est une application API Gateway. Il gère toutes les requêtes et effectue le routage dynamique des applications de microservices. Il fonctionne comme une porte d'entrée pour toutes les demandes. Il est également connu sous le nom Serveur Edge.
Zuul est conçu pour permettre routage dynamique, surveillance, résilience, et sécurité. Il peut également acheminer les requêtes vers plusieurs Groupes Amazon Auto Scaling .
Par exemple, /api/produits sont mappés sur le produit service et /api/utilisateur est mappé sur le utilisateur service. Le serveur Zuul achemine dynamiquement les requêtes vers l'application backend respective.
Pourquoi utilisons-nous Zuul ?
Le volume et la variété du trafic de l'API Netflix entraînent parfois des problèmes de production qui surviennent rapidement et sans avertissement. Nous avons donc besoin d’un système qui nous permette de modifier rapidement nos comportements afin de réagir à ces situations.
Zuul propose une gamme de différents types de filtres cela nous permet d'appliquer rapidement et avec agilité des fonctionnalités à notre service Edge. Les filtres remplissent les fonctions suivantes :
Composants Zuul
Composants Zuul 2.x :
Composants Zuul 1.x :
Configuration du serveur de passerelle API Zuul
Il y a trois étapes pour configurer la passerelle API Zuul :
- Créer un composant pour la passerelle API Zuul
- Décidez des choses que la passerelle API Zuul doit faire
- Toutes les requêtes importantes sont configurées pour passer via la passerelle API Zuul
Suivez les étapes pour configurer le serveur Zuul API Gateway.
Étape 1: Ouvrir Initialisation du printemps https://start.spring.io .
Étape 2: Fournir le Groupe nom. Nous avons fourni com.javatpoint.microservices.
Étape 3: Fournir le Artefact. Nous avons fourni netflix-zuul-api-gateway-server.
Étape 4: Ajoutez les dépendances suivantes : Zuul, Eureka Discovery, Actionneur, et Outils de développement.
Étape 5 : Clique sur le Générer bouton. Il commence à emballer le projet dans fermeture éclair fichier et téléchargez-le.
Étape 6 : Extraire le fichier zip et collez-le dans l’espace de travail de Spring Tool Suite.
Étape 7 : Importer le projet dans l'EDI STS.
Fichier -> Importer -> Projets Maven existants -> Parcourir -> Sélectionner serveur-passerelle-netflix-zuul-api-gateway -> Sélectionnez un dossier -> Terminer
L'importation prend un certain temps.
Étape 8 : Ouvrez le NetflixZuulApiGatewayServerApplication.java et activez le proxy zuul et le client de découverte en utilisant les annotations @EnableZuulProxy et @EnableDiscoveryClient, respectivement .
NetflixZuulApiGatewayServerApplication.java
package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } }
Étape 9 : Ouvrir application.propriétés fichier et configurer le nom de l'application, port, et serveur de noms eureka .
application.propriétés
spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eurekaCliquez ici pour télécharger netflix-zuul-api-gateway-server