logo

Brama API Zuul

Co to jest Zuul?

Zuul Server to aplikacja API Gateway. Obsługuje wszystkie żądania i wykonuje dynamiczny routing aplikacji mikroserwisowych. Działa jak drzwi wejściowe dla wszystkich żądań. Znany jest również jako Serwer brzegowy.

Zuul został stworzony, aby umożliwić routing dynamiczny, monitorowanie, odporność, I bezpieczeństwo. Może także kierować żądania do wielu Grupy automatycznego skalowania Amazon .

Na przykład, /api/produkty są mapowane do produkt obsługa i /api/użytkownik jest mapowany do użytkownik praca. Serwer Zuul dynamicznie kieruje żądania do odpowiedniej aplikacji backendowej.

Dlaczego używamy Zuul?

Wielkość i różnorodność ruchu API Netflix czasami powoduje problemy produkcyjne, które pojawiają się szybko i bez ostrzeżenia. Potrzebujemy więc systemu, który pozwoli nam szybko zmienić zachowanie, aby zareagować na takie sytuacje.

Zuul oferuje szeroką gamę różnych typów filtry co pozwala nam szybko i sprawnie zastosować funkcjonalność w naszej usłudze brzegowej. Filtry spełniają następujące funkcje:

    Uwierzytelnianie i bezpieczeństwo:Zapewnia wymagania dotyczące uwierzytelniania dla każdego zasobu.
    Spostrzeżenia i monitorowanie:Śledzi istotne dane i statystyki, które dają nam dokładny obraz produkcji.
    Trasowanie dynamiczne:W razie potrzeby dynamicznie kieruje żądania do różnych klastrów wspieranych.Test naprężeń:Zwiększa ruch do klastra w celu przetestowania wydajności.Odłączanie obciążenia:Przydziela pojemność dla każdego typu żądania i odrzuca żądanie, które przekracza limit.Obsługa odpowiedzi statycznych:Buduje niektóre odpowiedzi bezpośrednio na krawędzi, zamiast przekazywać je do wewnętrznego klastra.Odporność na wiele regionów:Kieruje żądania między regionami AWS, aby zdywersyfikować nasze wykorzystanie ELB.

Komponenty Zuula

Komponenty Zuul 2.x:

    rdzeń zuul:Jest to biblioteka zawierająca podstawową funkcjonalność Zuul 2.0.próbka zuul:Jest to przykładowa aplikacja sterownika dla Zuul 2.0

Komponenty Zuula 1.x:

    rdzeń zuul:Definiuje podstawową funkcjonalność.zuul-simple-webapp:Aplikacja internetowa pokazująca prosty przykład budowania aplikacji przy użyciu zuul-core.zuul-netflix:Jest to biblioteka, która dodaje inne komponenty NetflixOSS do Zuul.aplikacja internetowa zuul-netflix:Jest to aplikacja internetowa, która łączy w sobie zuul-core i zuul-netflix.

Konfigurowanie serwera bramy API Zuul

Tam są trzy kroki, aby skonfigurować bramę API Zuul:

  • Utwórz komponent dla bramy Zuul API
  • Zdecyduj, co ma robić Zuul API Gateway
  • Wszystkie ważne żądania są skonfigurowane tak, aby przechodziły przez bramę API Zuul

Postępuj zgodnie z instrukcjami, aby skonfigurować serwer Zuul API Gateway.

Krok 1: otwarty Inicjalizator wiosny https://start.spring.io .

Krok 2: Zapewnić Grupa nazwa. Dostarczyliśmy com.javatpoint.microservices.

Krok 3: Zapewnić Artefakt. Dostarczyliśmy serwer-bramy netflix-zuul-api.

Krok 4: Dodaj następujące zależności: Zuul, Eureka Discovery, siłownik, I Narzędzia deweloperskie.

Brama API Zuul

Krok 5: Kliknij na Generować przycisk. Rozpoczyna się pakowanie projektu do zamek błyskawiczny plik i pobierz go.

Brama API Zuul

Krok 6: Wyodrębnij plik zip i wklej go w obszarze roboczym pakietu Spring Tool Suite.

Krok 7: Importuj projekt w STS IDE.

Plik -> Importuj -> Istniejące projekty Maven -> Przeglądaj -> Wybierz serwer-bramy netflix-zuul-api -> Wybierz folder -> Zakończ

Importowanie zajmuje trochę czasu.

Krok 8: Otworzyć NetflixZuulApiGatewayServerApplication.java plik i włącz serwer proxy Zuul i klienta wykrywania, korzystając z adnotacji @WłączZuulProxy I @EnableDiscoveryClient, odpowiednio .

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: otwarty właściwości.aplikacji plik i skonfiguruj plik nazwa aplikacji, port, I serwer nazw eureka .

właściwości.aplikacji

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Kliknij tutaj, aby pobrać serwer netflix-zuul-api-gateway-server