logo

Passerelle API Zuul

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 :

    Authentification et sécurité :Il fournit les exigences d'authentification pour chaque ressource.
    Informations et surveillance :Il suit des données et des statistiques significatives qui nous donnent une vue précise de la production.
    Routage dynamique :Il achemine dynamiquement les requêtes vers différents clusters sauvegardés selon les besoins.Tests de résistance :Il augmente le trafic vers un cluster afin de tester les performances.Délestage:Il alloue de la capacité pour chaque type de demande et abandonne une demande qui dépasse la limite.Gestion des réponses statiques :Il crée certaines réponses directement en périphérie au lieu de les transmettre à un cluster interne.Résilience multirégionale :Il achemine les requêtes à travers les régions AWS afin de diversifier notre utilisation d'ELB.

Composants Zuul

Composants Zuul 2.x :

    zuul-core :Il s'agit d'une bibliothèque qui contient les fonctionnalités de base de Zuul 2.0.zuul-échantillon :Il s'agit d'un exemple d'application de pilote pour Zuul 2.0

Composants Zuul 1.x :

    zuul-core :Il définit la fonctionnalité de base.zuul-simple-webapp :Une application Web qui montre un exemple simple de la façon de créer une application avec zuul-core.zuul-netflix :Il s'agit d'une bibliothèque qui ajoute d'autres composants NetflixOSS à Zuul.zuul-netflix-webapp :Il s'agit d'une application Web qui regroupe zuul-core et zuul-netflix.

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.

Passerelle API Zuul

Étape 5 : Clique sur le Générer bouton. Il commence à emballer le projet dans fermeture éclair fichier et téléchargez-le.

Passerelle API Zuul

É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/eureka 
Cliquez ici pour télécharger netflix-zuul-api-gateway-server