logo

Zuul API Gateway

Ce este Zuul?

Zuul Server este o aplicație API Gateway. Se ocupă de toate solicitările și realizează rutarea dinamică a aplicațiilor de microservicii. Funcționează ca ușă de intrare pentru toate solicitările. Este cunoscut și ca Server Edge.

Zuul este construit pentru a permite rutare dinamică, monitorizare, reziliență, și Securitate. De asemenea, poate direcționa cererile către mai multe Grupuri Amazon Auto Scaling .

De exemplu, /api/products sunt mapate la produs serviciul şi /api/user este mapat la utilizator serviciu. Serverul Zuul direcționează dinamic cererile către aplicația backend respectivă.

De ce folosim Zuul?

Volumul și varietatea traficului API Netflix duc uneori la probleme de producție care apar rapid și fără avertisment. Deci avem nevoie de un sistem care să ne permită să schimbăm rapid comportamentul pentru a reacţiona la aceste situaţii.

Zuul oferă o gamă de tipuri diferite de filtre care ne permite să aplicăm rapid și agil funcționalitatea serviciului nostru de vârf. Filtrele îndeplinesc următoarele funcții:

    Autentificare și securitate:Acesta oferă cerințe de autentificare pentru fiecare resursă.
    Perspective și monitorizare:Urmărește date și statistici semnificative care ne oferă o imagine exactă a producției.
    Rutare dinamică:Acesta direcționează dinamic cererile către diferite clustere susținute, după cum este necesar.Testare stresanta:Mărește traficul către un cluster pentru a testa performanța.Reducerea sarcinii:Alocă capacitate pentru fiecare tip de cerere și renunță la o cerere care depășește limita.Manipularea răspunsului static:Construiește unele răspunsuri direct la margine, în loc să le redirecționeze către un cluster intern.Reziliență în mai multe regiuni:Direcționează cererile în regiunile AWS pentru a diversifica utilizarea ELB.

Zuul Components

Componentele Zuul 2.x:

    zuul-core:Este o bibliotecă care conține funcționalitatea de bază a Zuul 2.0.zuul-sample:Este un exemplu de aplicație de driver pentru Zuul 2.0

Componentele Zuul 1.x:

    zuul-core:Acesta definește funcționalitatea de bază.zuul-simple-webapp:O aplicație web care arată un exemplu simplu despre cum să construiți o aplicație cu zuul-core.zuul-netflix:Este o bibliotecă care adaugă alte componente NetflixOSS la Zuul.zuul-netflix-webapp:Este o aplicație web care împachetează zuul-core și zuul-netflix împreună.

Configurarea Zuul API Gateway Server

Sunt Trei pași pentru a configura Zuul API Gateway:

  • Creați o componentă pentru Zuul API Gateway
  • Decideți lucrurile pe care Zuul API Gateway ar trebui să le facă
  • Toate solicitările importante sunt configurate pentru a trece prin Zuul API Gateway

Urmați pașii pentru a configura serverul Zuul API Gateway.

Pasul 1: Deschis Spring Initializr https://start.spring.io .

Pasul 2: Furnizați grup Nume. Noi am asigurat com.javatpoint.microservices.

Pasul 3: Furnizați Artefact. Noi am asigurat netflix-zuul-api-gateway-server.

Pasul 4: Adăugați următoarele dependențe: Zuul, Eureka Discovery, Actuator, și DevTools.

Zuul API Gateway

Pasul 5: Faceți clic pe Genera buton. Începe să împacheteze proiectul fermoar fișier și descărcați-l.

Zuul API Gateway

Pasul 6: Extrageți fișierul zip și inserați-l în spațiul de lucru al Spring Tool Suite.

Pasul 7: Import proiectul din STS IDE.

Fișier -> Import -> Proiecte Maven existente -> Răsfoiți -> Selectați netflix-zuul-api-gateway-server -> Selectați Folder -> Finish

Este nevoie de ceva timp pentru a importa.

Pasul 8: Deschide NetflixZuulApiGatewayServerApplication.java fișier și activați proxy zuul și clientul de descoperire folosind adnotările @EnableZuulProxy și @EnableDiscoveryClient, respectiv .

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); } } 

Pasul 9: Deschis aplicaţie.proprietăţi fișier și configurați numele aplicației, portul, și server de denumire eureka .

aplicaţie.proprietăţi

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Faceți clic aici pentru a descărca netflix-zuul-api-gateway-server