logo

Zuul API Gateway

Kaj je Zuul?

Strežnik Zuul je aplikacija prehoda API. Obravnava vse zahteve in izvaja dinamično usmerjanje aplikacij mikrostoritev. Deluje kot vhodna vrata za vse zahteve. Znan je tudi kot Robni strežnik.

Zuul je zgrajen, da omogoči dinamično usmerjanje, spremljanje, odpornost, in varnost. Lahko tudi usmeri zahteve na več Amazonove skupine za samodejno skaliranje .

Na primer, /api/izdelki so preslikani v izdelek storitev in /api/uporabnik je preslikan v uporabnik storitve. Strežnik Zuul dinamično usmerja zahteve do ustrezne zaledne aplikacije.

Zakaj uporabljamo Zuul?

Obseg in raznolikost prometa Netflixovega API-ja včasih povzroči težave pri proizvodnji, ki se pojavijo hitro in brez opozorila. Zato potrebujemo sistem, ki nam omogoča hitro spreminjanje vedenja, da se odzovemo na te situacije.

Zuul ponuja vrsto različnih vrst filtri ki nam omogoča hitro in okretno uporabo funkcionalnosti v naši robni storitvi. Filtri opravljajo naslednje funkcije:

    Avtentikacija in varnost:Zagotavlja zahteve za preverjanje pristnosti za vsak vir.
    Vpogledi in spremljanje:Sledi pomembnim podatkom in statistikam, ki nam dajejo natančen vpogled v proizvodnjo.
    Dinamično usmerjanje:Po potrebi dinamično usmerja zahteve v različne podprte gruče.Stresno testiranje:Poveča promet v gručo, da preizkusi zmogljivost.Razbremenitev:Dodeli zmogljivost za vsako vrsto zahteve in opusti zahtevo, ki presega omejitev.Ravnanje s statičnim odzivom:Nekatere odzive ustvari neposredno na robu, namesto da bi jih posredoval v notranjo gručo.Odpornost na več regij:Usmerja zahteve po regijah AWS, da bi razširil našo uporabo ELB.

Komponente Zuul

Komponente Zuul 2.x:

    zuul-core:To je knjižnica, ki vsebuje osnovno funkcionalnost Zuula 2.0.zuul-vzorec:Je vzorčna aplikacija gonilnika za Zuul 2.0

Komponente Zuul 1.x:

    zuul-core:Določa osnovno funkcionalnost.zuul-simple-webapp:Spletna aplikacija, ki prikazuje preprost primer, kako zgraditi aplikacijo z zuul-core.zuul-netflix:To je knjižnica, ki Zuulu doda druge komponente NetflixOSS.zuul-netflix-webapp:To je spletna aplikacija, ki skupaj združuje zuul-core in zuul-netflix.

Nastavitev strežnika Zuul API Gateway

obstajajo tri koraki za nastavitev Zuul API Gateway:

  • Ustvarite komponento za Zuul API Gateway
  • Odločite se, kaj naj počne Zuul API Gateway
  • Vse pomembne zahteve so konfigurirane tako, da gredo skozi Zuul API Gateway

Sledite korakom za nastavitev strežnika Zuul API Gateway.

Korak 1: Odprto Inicializacija pomladi https://start.spring.io .

2. korak: Zagotovite skupina ime. Zagotovili smo com.javatpoint.microservices.

3. korak: Zagotovite Artefakt. Zagotovili smo netflix-zuul-api-gateway-strežnik.

4. korak: Dodajte naslednje odvisnosti: Zuul, Eureka Discovery, aktuator, in DevTools.

Zuul API Gateway

5. korak: Kliknite na Ustvari gumb. Začne pakirati projekt v zip datoteko in jo prenesite.

Zuul API Gateway

6. korak: Izvleček datoteko zip in jo prilepite v delovni prostor Spring Tool Suite.

7. korak: uvozite projekt v STS IDE.

Datoteka -> Uvoz -> Obstoječi projekti Maven -> Prebrskaj -> Izberi netflix-zuul-api-gateway-strežnik -> Izberite mapo -> Končaj

Uvoz traja nekaj časa.

8. korak: Odprite NetflixZuulApiGatewayServerApplication.java datoteko in omogočite zuul proxy in odjemalca za odkrivanje z uporabo opomb @EnableZuulProxy in @EnableDiscoveryClient, oz .

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

9. korak: Odprto aplikacija.lastnosti datoteko in konfigurirajte ime aplikacije, vrata, in strežnik za poimenovanje eureka .

aplikacija.lastnosti

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Kliknite tukaj za prenos netflix-zuul-api-gateway-server