logo

Zuul API Gateway

Mikä on Zuul?

Zuul Server on API Gateway -sovellus. Se käsittelee kaikki pyynnöt ja suorittaa mikropalvelusovellusten dynaamisen reitityksen. Se toimii etuovena kaikkiin pyyntöihin. Se tunnetaan myös nimellä Edge-palvelin.

Zuul on rakennettu mahdollistamaan dynaaminen reititys, seuranta, joustavuus, ja turvallisuus. Se voi myös reitittää pyynnöt useille Amazon Auto Scaling Groups .

Esimerkiksi, /api/tuotteet on kartoitettu tuote palvelu ja /api/user on kartoitettu käyttäjä palvelua. Zuul-palvelin reitittää pyynnöt dynaamisesti vastaavaan taustasovellukseen.

Miksi käytämme Zuulia?

Netflix API -liikenteen määrä ja monimuotoisuus johtavat toisinaan tuotantoongelmiin, jotka syntyvät nopeasti ja ilman varoitusta. Tarvitsemme siis järjestelmän, jonka avulla voimme nopeasti muuttaa käyttäytymistämme, jotta voimme reagoida näihin tilanteisiin.

Zuul tarjoaa valikoiman erilaisia suodattimet jonka avulla voimme nopeasti ja ketterästi soveltaa toimintoja reunapalveluumme. Suodattimet suorittavat seuraavat toiminnot:

    Todennus ja suojaus:Se tarjoaa todennusvaatimukset jokaiselle resurssille.
    Näkemyksiä ja seurantaa:Se seuraa merkityksellisiä tietoja ja tilastoja, jotka antavat meille tarkan kuvan tuotannosta.
    Dynaaminen reititys:Se reitittää pyynnöt dynaamisesti eri tukemiin klustereihin tarpeen mukaan.Stressitesti:Se lisää liikennettä klusteriin suorituskyvyn testaamiseksi.Kuorman irtoaminen:Se varaa kapasiteettia kullekin pyyntötyypille ja hylkää pyynnön, joka ylittää rajan.Staattisen vastauksen käsittely:Se rakentaa joitain vastauksia suoraan reunaan sen sijaan, että välittäisi ne sisäiseen klusteriin.Monen alueen kestävyys:Se reitittää pyynnöt AWS-alueiden välillä monipuolistaakseen ELB-käyttöämme.

Zuul komponentit

Zuul 2.x:n osat:

    zuul-core:Se on kirjasto, joka sisältää Zuul 2.0:n ydintoiminnot.zuul-näyte:Se on esimerkkiohjainsovellus Zuul 2.0:lle

Zuul 1.x:n osat:

    zuul-core:Se määrittelee ydintoiminnot.zuul-simple-webapp:Verkkosovellus, joka näyttää yksinkertaisen esimerkin sovelluksen rakentamisesta zuul-corella.zuul-netflix:Se on kirjasto, joka lisää muita NetflixOSS-komponentteja Zuuliin.zuul-netflix-webapp:Se on verkkosovellus, joka pakkaa zuul-core ja zuul-netflix yhteen.

Asetetaan Zuul API Gateway Server

On kolme vaiheet Zuul API Gatewayn määrittämiseksi:

  • Luo komponentti Zuul API Gatewaylle
  • Päätä asiat, jotka Zuul API Gatewayn tulisi tehdä
  • Kaikki tärkeät pyynnöt on määritetty kulkemaan Zuul API Gatewayn kautta

Asenna Zuul API Gateway -palvelin noudattamalla ohjeita.

Vaihe 1: Avata Kevään alustus https://start.spring.io .

Vaihe 2: Tarjoa Ryhmä nimi. Olemme tarjonneet com.javatpoint.microservices.

Vaihe 3: Tarjoa Esine. Olemme tarjonneet netflix-zuul-api-gateway-server.

Vaihe 4: Lisää seuraavat riippuvuudet: Zuul, Eureka Discovery, toimilaite, ja DevTools.

Zuul API Gateway

Vaihe 5: Klikkaa Tuottaa -painiketta. Se alkaa pakata projektia postinumero tiedosto ja lataa se.

Zuul API Gateway

Vaihe 6: Pura zip-tiedosto ja liitä se Spring Tool Suiten työtilaan.

Vaihe 7: Tuo projekti STS IDE:ssä.

Tiedosto -> Tuo -> Olemassa olevat Maven-projektit -> Selaa -> Valitse netflix-zuul-api-gateway-server -> Valitse kansio -> Valmis

Tuonti kestää jonkin aikaa.

Vaihe 8: Avaa NetflixZuulApiGatewayServerApplication.java tiedosto ja ota zuul-välityspalvelin ja etsintäasiakas käyttöön merkintöjen avulla @OtaZuulProxy käyttöön ja @EnableDiscoveryClient, vastaavasti .

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

Vaihe 9: Avata application.properties tiedosto ja määritä sovelluksen nimi, portti, ja eureka-nimipalvelin .

application.properties

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Napsauta tästä ladataksesi netflix-zuul-api-gateway-server