logo

Zuul API šliuzas

Kas yra Zuul?

„Zuul Server“ yra API šliuzo programa. Jis tvarko visas užklausas ir atlieka dinaminį mikro paslaugų programų maršrutą. Tai veikia kaip priekinės durys visoms užklausoms. Jis taip pat žinomas kaip Edge serveris.

Zuul sukurtas taip, kad įgalintų dinaminis maršruto parinkimas, stebėjimas, atsparumas, ir saugumo. Jis taip pat gali nukreipti užklausas į kelias „Amazon“ automatinio mastelio keitimo grupės .

Pavyzdžiui, /api/produktai yra susietos su produktas aptarnavimas ir /api/user yra susietas su Vartotojas paslauga. „Zuul“ serveris dinamiškai nukreipia užklausas į atitinkamą užpakalinę programą.

Kodėl mes naudojame Zuul?

Dėl „Netflix API“ srauto apimties ir įvairovės kartais kyla gamybos problemų, kurios kyla greitai ir be įspėjimo. Taigi mums reikia sistemos, kuri leistų greitai keisti elgesį, kad galėtume reaguoti į šias situacijas.

„Zuul“ siūlo daugybę skirtingų tipų filtrai tai leidžia greitai ir sklandžiai pritaikyti funkcionalumą mūsų krašto paslaugai. Filtrai atlieka šias funkcijas:

    Autentifikavimas ir saugumas:Jame pateikiami kiekvieno šaltinio autentifikavimo reikalavimai.
    Įžvalgos ir stebėjimas:Ji seka reikšmingus duomenis ir statistiką, kuri suteikia mums tikslų vaizdą apie gamybą.
    Dinaminis maršruto parinkimas:Prireikus jis dinamiškai nukreipia užklausas į skirtingas palaikomas grupes.Testavimas nepalankiausiu būdu:Tai padidina srautą į klasterį, kad patikrintų našumą.Krovinio išmetimas:Kiekvienam užklausos tipui ji paskirsto pajėgumus ir atmeta užklausą, kuri viršija limitą.Statinio atsako tvarkymas:Jis sukuria kai kuriuos atsakymus tiesiai prie krašto, o ne persiunčia juos į vidinį klasterį.Atsparumas keliems regionams:Ji nukreipia užklausas per AWS regionus, kad įvairintų mūsų ELB naudojimą.

Zuul komponentai

„Zuul 2.x“ komponentai:

    zuul-core:Tai biblioteka, kurioje yra pagrindinės Zuul 2.0 funkcijos.zuul-sample:Tai yra Zuul 2.0 tvarkyklės programos pavyzdys

„Zuul 1.x“ komponentai:

    zuul-core:Tai apibrėžia pagrindines funkcijas.zuul-simple-webapp:Žiniatinklio programa, kurioje rodomas paprastas pavyzdys, kaip sukurti programą naudojant „zuul-core“.zuul-netflix:Tai biblioteka, kuri į „Zuul“ prideda kitų „NetflixOSS“ komponentų.zuul-netflix-webapp:Tai žiniatinklio programa, kuri kartu supakuoja zuul-core ir zuul-netflix.

„Zuul API Gateway“ serverio nustatymas

Yra trys Zuul API šliuzo nustatymo veiksmai:

  • Sukurkite „Zuul API Gateway“ komponentą
  • Nuspręskite, ką turėtų daryti „Zuul API Gateway“.
  • Visos svarbios užklausos sukonfigūruotos perduoti per Zuul API šliuzą

Atlikite veiksmus, kad nustatytumėte „Zuul API Gateway“ serverį.

1 žingsnis: Atviras Pavasario inicijavimas https://start.spring.io .

2 žingsnis: Pateikite Grupė vardas. Mes pateikėme com.javatpoint.microservices.

3 veiksmas: Pateikite Artefaktas. Mes pateikėme netflix-zuul-api-gateway-server.

4 veiksmas: Pridėkite šias priklausomybes: Zuul, Eureka Discovery, pavara, ir DevTools.

Zuul API šliuzas

5 veiksmas: Spustelėkite ant Generuoti mygtuką. Jis pradeda pakuoti projektą užtrauktukas failą ir atsisiųskite jį.

Zuul API šliuzas

6 veiksmas: ištraukite zip failą ir įklijuokite jį į „Spring Tool Suite“ darbo sritį.

7 veiksmas: importuokite projektas STS IDE.

Failas -> Importuoti -> Esami Maven projektai -> Naršyti -> Pasirinkti netflix-zuul-api-gateway-server -> Pasirinkite aplanką -> Baigti

Importuoti reikia šiek tiek laiko.

8 veiksmas: Atidaryk NetflixZuulApiGatewayServerApplication.java failą ir įgalinkite „zuul“ tarpinį serverį ir aptikimo klientą naudodami komentarus @EnableZuulProxy ir @EnableDiscoveryClient, atitinkamai .

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 veiksmas: Atviras taikymas.ypatybės failą ir sukonfigūruoti programos pavadinimas, prievadas, ir eureka vardų serveris .

taikymas.ypatybės

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Spustelėkite čia norėdami atsisiųsti netflix-zuul-api-gateway-server