logo

Zuul API brána

Co je Zuul?

Zuul Server je aplikace brány API. Zpracovává všechny požadavky a provádí dynamické směrování aplikací mikroslužeb. Funguje jako vstupní dveře pro všechny požadavky. Je také známý jako Edge Server.

Zuul je vytvořen tak, aby umožňoval dynamické směrování, monitorování, odolnost, a bezpečnostní. Může také směrovat požadavky na více Skupiny automatického škálování Amazon .

Například, /api/products jsou mapovány na produkt servis a /api/user je mapován na uživatel servis. Server Zuul dynamicky směruje požadavky do příslušné backendové aplikace.

Proč používáme Zuul?

Objem a rozmanitost provozu Netflix API někdy vedou k produkčním problémům, které se objevují rychle a bez varování. Potřebujeme tedy systém, který nám umožní rychle změnit chování, abychom na tyto situace mohli reagovat.

Zuul nabízí řadu různých typů filtry což nám umožňuje rychle a pohotově aplikovat funkce na naši okrajovou službu. Filtry plní následující funkce:

    Autentizace a zabezpečení:Poskytuje požadavky na ověření pro každý zdroj.
    Statistiky a sledování:Sleduje smysluplná data a statistiky, které nám poskytují přesný pohled na výrobu.
    Dynamické směrování:Podle potřeby dynamicky směruje požadavky do různých zálohovaných clusterů.Zátěžové testování:Zvyšuje provoz do clusteru za účelem testování výkonu.Odlehčení zátěže:Přiděluje kapacitu pro každý typ požadavku a zruší požadavek, který překročí limit.Zpracování statické odezvy:Některé odpovědi vytváří přímo na okraji, místo aby je předával do interního clusteru.Odolnost ve více regionech:Směruje požadavky napříč regiony AWS, aby diverzifikoval naše využití ELB.

Komponenty Zuul

Komponenty Zuul 2.x:

    zuul-core:Je to knihovna, která obsahuje základní funkce Zuul 2.0.zuul-ukázka:Je to ukázková aplikace ovladače pro Zuul 2.0

Komponenty Zuul 1.x:

    zuul-core:Definuje základní funkce.zuul-simple-webapp:Webová aplikace, která ukazuje jednoduchý příklad, jak vytvořit aplikaci s zuul-core.zuul-netflix:Je to knihovna, která do Zuul přidává další komponenty NetflixOSS.zuul-netflix-webapp:Jedná se o webovou aplikaci, která balí dohromady zuul-core a zuul-netflix.

Nastavení serveru brány Zuul API

Existují tři kroky k nastavení brány Zuul API:

  • Vytvořte komponentu pro bránu Zuul API
  • Rozhodněte, co by měla brána API Zuul dělat
  • Všechny důležité požadavky jsou nakonfigurovány tak, aby procházely bránou Zuul API

Postupujte podle kroků pro nastavení serveru brány Zuul API.

Krok 1: OTEVŘENO Spring Initializr https://start.spring.io .

Krok 2: Poskytněte Skupina název. Poskytli jsme com.javatpoint.microservices.

Krok 3: Poskytněte Artefakt. Poskytli jsme netflix-zuul-api-gateway-server.

Krok 4: Přidejte následující závislosti: Zuul, Eureka Discovery, pohon, a DevTools.

Zuul API brána

Krok 5: Klikněte na generovat knoflík. Začíná balit projekt do zip soubor a stáhněte si jej.

Zuul API brána

Krok 6: Extrahujte zip a vložte jej do pracovního prostoru Spring Tool Suite.

Krok 7: Import projektu v STS IDE.

Soubor -> Import -> Stávající projekty Maven -> Procházet -> Vybrat netflix-zuul-api-gateway-server -> Vyberte složku -> Dokončit

Import nějakou dobu trvá.

Krok 8: Otevři NetflixZuulApiGatewayServerApplication.java soubor a povolte zuul proxy a klienta zjišťování pomocí anotací @EnableZuulProxy a @EnableDiscoveryClient, respektive .

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: OTEVŘENO aplikace.vlastnosti soubor a nakonfigurujte název aplikace, port, a jmenný server heureka .

aplikace.vlastnosti

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Kliknutím sem stáhnete server netflix-zuul-api-gateway-server