logo

Zuul API vārteja

Kas ir Zuuls?

Zuul Server ir API vārtejas lietojumprogramma. Tas apstrādā visus pieprasījumus un veic mikropakalpojumu lietojumprogrammu dinamisko maršrutēšanu. Tas darbojas kā ieejas durvis visiem pieprasījumiem. Tas ir pazīstams arī kā Edge serveris.

Zuul ir izveidots, lai iespējotu dinamiska maršrutēšana, uzraudzība, noturība, un drošību. Tas var arī novirzīt pieprasījumus uz vairākiem Amazon automātiskās mērogošanas grupas .

Piemēram, /api/produkti ir kartētas uz produkts serviss un /api/lietotājs ir kartēts uz lietotājs apkalpošana. Zuul serveris dinamiski novirza pieprasījumus uz attiecīgo aizmugurprogrammu.

Kāpēc mēs izmantojam Zuul?

Netflix API trafika apjoms un dažādība dažkārt rada problēmas ar ražošanu, kas rodas ātri un bez brīdinājuma. Tāpēc mums ir vajadzīga sistēma, kas ļauj mums ātri mainīt uzvedību, lai reaģētu uz šīm situācijām.

Zuul piedāvā virkni dažādu veidu filtri kas ļauj ātri un veikli piemērot funkcionalitāti mūsu malu pakalpojumam. Filtri veic šādas funkcijas:

    Autentifikācija un drošība:Tas nodrošina autentifikācijas prasības katram resursam.
    Ieskats un uzraudzība:Tas izseko nozīmīgus datus un statistiku, kas sniedz mums precīzu priekšstatu par ražošanu.
    Dinamiskā maršrutēšana:Tas pēc vajadzības dinamiski novirza pieprasījumus uz dažādām atbalstītajām kopām.Stresa testēšana:Tas palielina trafiku uz klasteru, lai pārbaudītu veiktspēju.Slodzes samazināšana:Tas piešķir jaudu katram pieprasījuma veidam un atmet pieprasījumu, kas pārsniedz ierobežojumu.Statiskās atbildes apstrāde:Tas veido dažas atbildes tieši malā, nevis pārsūta tās iekšējai klasterim.Vairāku reģionu noturība:Tas novirza pieprasījumus pa AWS reģioniem, lai dažādotu mūsu ELB izmantošanu.

Zuul komponenti

Zuul 2.x sastāvdaļas:

    zuul-core:Tā ir bibliotēka, kas satur Zuul 2.0 pamata funkcionalitāti.zuul-sample:Tas ir Zuul 2.0 draivera lietojumprogrammas paraugs

Zuul 1.x sastāvdaļas:

    zuul-core:Tas nosaka galveno funkcionalitāti.zuul-simple-webapp:Tīmekļa lietotne, kas parāda vienkāršu piemēru, kā izveidot lietojumprogrammu ar zuul-core.zuul-netflix:Tā ir bibliotēka, kas Zuul pievieno citus NetflixOSS komponentus.zuul-netflix-webapp:Tā ir tīmekļa lietotne, kas kopā iesaiņo zuul-core un zuul-netflix.

Zuul API vārtejas servera iestatīšana

Tur ir trīs darbības, lai iestatītu Zuul API vārteju:

  • Izveidojiet komponentu Zuul API vārtejai
  • Izlemiet, kas Zuul API vārtejai būtu jādara
  • Visi svarīgie pieprasījumi ir konfigurēti tā, lai tie tiktu nosūtīti caur Zuul API vārteju

Veiciet darbības, lai iestatītu Zuul API vārtejas serveri.

1. darbība: Atvērt Pavasara inicializācija https://start.spring.io .

2. darbība: Nodrošiniet Grupa nosaukums. Mēs esam nodrošinājuši com.javatpoint.microservices.

3. darbība: Nodrošiniet Artefakts. Mēs esam nodrošinājuši netflix-zuul-api-gateway-server.

4. darbība: Pievienojiet šādas atkarības: Zuul, Eureka Discovery, izpildmehānisms, un DevTools.

Zuul API vārteja

5. darbība: Noklikšķiniet uz Ģenerēt pogu. Tas sāk iesaiņot projektu rāvējslēdzējs failu un lejupielādējiet to.

Zuul API vārteja

6. darbība: ekstrakts zip failu un ielīmējiet to Spring Tool Suite darbvietā.

7. darbība: importēšana projekts STS IDE.

Fails -> Importēt -> Esošie Maven projekti -> Pārlūkot -> Atlasīt netflix-zuul-api-gateway-server -> Izvēlieties mapi -> Pabeigt

Importēšanai nepieciešams zināms laiks.

8. darbība: Atveriet NetflixZuulApiGatewayServerApplication.java failu un iespējojiet zuul starpniekserveri un atklāšanas klientu, izmantojot anotācijas @IespējotZuulProxy un @EnableDiscoveryClient, attiecīgi .

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. darbība: Atvērt pielietojums.īpašības failu un konfigurēt lietojumprogrammas nosaukums, ports, un eureka nosaukumu serveris .

pielietojums.īpašības

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Noklikšķiniet šeit, lai lejupielādētu netflix-zuul-api-gateway-server