logo

Zuul API Gateway

Što je Zuul?

Zuul Server je aplikacija API pristupnika. Obrađuje sve zahtjeve i izvodi dinamičko usmjeravanje mikroservisnih aplikacija. Djeluje kao ulazna vrata za sve zahtjeve. Također je poznat kao Rubni poslužitelj.

Zuul je napravljen da omogući dinamičko usmjeravanje, praćenje, otpornost, i sigurnosti. Također može usmjeriti zahtjeve na više Amazonove grupe za automatsko skaliranje .

Na primjer, /api/proizvodi preslikavaju se na proizvod usluga i /api/korisnik preslikava se na korisnik servis. Zuul poslužitelj dinamički usmjerava zahtjeve do odgovarajuće pozadinske aplikacije.

Zašto koristimo Zuul?

Opseg i raznolikost Netflix API prometa ponekad rezultira problemima u proizvodnji koji se pojavljuju brzo i bez upozorenja. Stoga nam treba sustav koji nam omogućuje brzu promjenu ponašanja kako bismo reagirali na te situacije.

Zuul nudi niz različitih vrsta filteri koji nam omogućuje brzu i okretnu primjenu funkcionalnosti na našu rubnu uslugu. Filtri obavljaju sljedeće funkcije:

    Autentifikacija i sigurnost:Omogućuje zahtjeve za provjeru autentičnosti za svaki resurs.
    Uvidi i praćenje:Prati značajne podatke i statistike koji nam daju točan pregled proizvodnje.
    Dinamičko usmjeravanje:Dinamički usmjerava zahtjeve prema različitim klasterima s podrškom prema potrebi.Testiranje otpornosti na stres:Povećava promet prema klasteru kako bi se testirala izvedba.Rasterećenje:Dodjeljuje kapacitet za svaku vrstu zahtjeva i odbacuje zahtjev koji prelazi ograničenje.Rukovanje statičkim odgovorom:Neke odgovore gradi izravno na rubu umjesto da ih prosljeđuje unutarnjem klasteru.Otpornost na više regija:Usmjerava zahtjeve kroz AWS regije kako bi diverzificirao našu upotrebu ELB-a.

Zuul komponente

Zuul 2.x komponente:

    zuul-core:To je biblioteka koja sadrži temeljnu funkcionalnost Zuula 2.0.zuul-uzorak:To je primjer aplikacije upravljačkog programa za Zuul 2.0

Zuul 1.x komponente:

    zuul-core:Definira temeljnu funkcionalnost.zuul-simple-webapp:Web aplikacija koja pokazuje jednostavan primjer kako izgraditi aplikaciju sa zuul-core.zuul-netflix:To je biblioteka koja Zuulu dodaje druge NetflixOSS komponente.zuul-netflix-webapp:To je web-aplikacija koja pakira zuul-core i zuul-netflix zajedno.

Postavljanje Zuul API Gateway poslužitelja

Tamo su tri koraci za postavljanje Zuul API pristupnika:

  • Napravite komponentu za Zuul API Gateway
  • Odlučite što Zuul API Gateway treba raditi
  • Svi važni zahtjevi su konfigurirani da prolaze kroz Zuul API Gateway

Slijedite korake za postavljanje poslužitelja Zuul API Gateway.

Korak 1: Otvoren Opruga Initializr https://start.spring.io .

Korak 2: Osigurajte Skupina Ime. Osigurali smo com.javatpoint.microservices.

Korak 3: Osigurajte Artefakt. Osigurali smo netflix-zuul-api-pristupni-poslužitelj.

Korak 4: Dodajte sljedeće ovisnosti: Zuul, Eureka Discovery, aktuator, i DevTools.

Zuul API Gateway

Korak 5: Klikni na Generirati dugme. Počinje pakirati projekt u zip datoteku i preuzmite je.

Zuul API Gateway

Korak 6: Ekstrakt zip datoteku i zalijepite je u radni prostor Spring Tool Suite-a.

Korak 7: Uvoz projekt u STS IDE.

File -> Import -> Existing Maven Projects -> Browse -> Select netflix-zuul-api-pristupni-poslužitelj -> Odaberite mapu -> Završi

Za uvoz je potrebno neko vrijeme.

Korak 8: Otvori NetflixZuulApiGatewayServerApplication.java datoteku i omogućite zuul proxy i klijent za otkrivanje korištenjem komentara @EnableZuulProxy i @EnableDiscoveryClient, odnosno .

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

Korak 9: Otvoren primjena.svojstva datoteku i konfigurirajte naziv aplikacije, port, i eureka poslužitelj za imenovanje .

primjena.svojstva

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