logo

Brána API Zuul

čo je Zuul?

Zuul Server je aplikácia brány API. Spracováva všetky požiadavky a vykonáva dynamické smerovanie aplikácií mikroslužieb. Funguje ako vchodové dvere pre všetky požiadavky. Je tiež známy ako Edge Server.

Zuul je vytvorený tak, aby umožňoval dynamické smerovanie, monitorovanie, odolnosť, a bezpečnosť. Môže tiež smerovať požiadavky na viacero Skupiny automatického škálovania Amazon .

Napríklad, /api/products sú mapované na produktu servis a /api/user je mapovaná na užívateľ služby. Server Zuul dynamicky smeruje požiadavky do príslušnej backendovej aplikácie.

Prečo používame Zuul?

Objem a rozmanitosť návštevnosti Netflix API niekedy vedie k problémom s výrobou, ktoré vznikajú rýchlo a bez varovania. Potrebujeme teda systém, ktorý nám umožní rýchlo zmeniť správanie, aby sme mohli na tieto situácie reagovať.

Zuul ponúka celý rad rôznych typov filtre čo nám umožňuje rýchlo a šikovne aplikovať funkcie na našu okrajovú službu. Filtre vykonávajú nasledujúce funkcie:

    Autentifikácia a bezpečnosť:Poskytuje požiadavky na autentifikáciu pre každý zdroj.
    Štatistiky a monitorovanie:Sleduje zmysluplné údaje a štatistiky, ktoré nám poskytujú presný prehľad o výrobe.
    Dynamické smerovanie:Podľa potreby dynamicky smeruje požiadavky do rôznych podporovaných klastrov.Záťažové testovanie:Zvyšuje návštevnosť klastra, aby sa otestoval výkon.Znižovanie záťaže:Prideľuje kapacitu pre každý typ požiadavky a zahodí požiadavku, ktorá prekročí limit.Spracovanie statickej odozvy:Niektoré odpovede vytvára priamo na okraji namiesto toho, aby ich posielal do interného klastra.Odolnosť voči viacerým regiónom:Smeruje požiadavky cez regióny AWS s cieľom diverzifikovať naše používanie ELB.

Komponenty Zuul

Komponenty Zuul 2.x:

    zuul-core:Je to knižnica, ktorá obsahuje základné funkcie Zuul 2.0.zuul-vzorka:Je to vzorová aplikácia ovládača pre Zuul 2.0

Komponenty Zuul 1.x:

    zuul-core:Definuje základnú funkčnosť.zuul-simple-webapp:Webová aplikácia, ktorá ukazuje jednoduchý príklad, ako vytvoriť aplikáciu pomocou zuul-core.zuul-netflix:Ide o knižnicu, ktorá do Zuul pridáva ďalšie komponenty NetflixOSS.zuul-netflix-webapp:Je to webová aplikácia, ktorá spája zuul-core a zuul-netflix.

Nastavenie servera brány Zuul API

Existujú tri kroky na nastavenie brány Zuul API:

  • Vytvorte komponent pre bránu API Zuul
  • Rozhodnite, čo by mala brána API Zuul robiť
  • Všetky dôležité požiadavky sú nakonfigurované tak, aby prechádzali cez bránu API Zuul

Postupujte podľa krokov na nastavenie servera brány Zuul API.

Krok 1: OTVORENÉ Spring Initializr https://start.spring.io .

Krok 2: Poskytnite Skupina názov. Poskytli sme com.javatpoint.microservices.

Krok 3: Poskytnite Artefakt. Poskytli sme netflix-zuul-api-gateway-server.

Krok 4: Pridajte nasledujúce závislosti: Zuul, Eureka Discovery, pohon, a DevTools.

Brána API Zuul

Krok 5: Klikni na Generovať tlačidlo. Začína sa baliť projekt do PSČ súbor a stiahnite si ho.

Brána API Zuul

Krok 6: Extrahujte zip súbor a vložte ho do pracovného priestoru Spring Tool Suite.

Krok 7: Import projektu v STS IDE.

Súbor -> Import -> Existujúce projekty Maven -> Prehľadávať -> Vybrať netflix-zuul-api-gateway-server -> Vyberte priečinok -> Dokončiť

Import trvá nejaký čas.

Krok 8: Otvor NetflixZuulApiGatewayServerApplication.java súbor a povoľte zuul proxy a vyhľadávacieho klienta pomocou anotácií @EnableZuulProxy a @EnableDiscoveryClient, resp .

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

Krok 9: OTVORENÉ aplikácie.vlastnosti súbor a nakonfigurujte ho názov aplikácie, port, a názvový server heureka .

aplikácie.vlastnosti

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Kliknite sem a stiahnite si server netflix-zuul-api-gateway-server