Brána API Zuul

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