logo

Zuul API Gateway

Какво е Zuul?

Zuul Server е приложение за API Gateway. Той обработва всички заявки и изпълнява динамичното маршрутизиране на микросервизни приложения. Работи като входна врата за всички заявки. Известен е още като Граничен сървър.

Zuul е създаден, за да позволява динамично маршрутизиране, наблюдение, устойчивост, и сигурност. Може също така да насочва заявките към множество Групи за автоматично мащабиране на Amazon .

Например, /api/продукти са съпоставени към продукт обслужване и /api/потребител се съпоставя към потребител обслужване. Zuul сървърът динамично насочва заявките към съответното бекенд приложение.

Защо използваме Zuul?

Обемът и разнообразието на трафика на Netflix API понякога води до проблеми с производството, които възникват бързо и без предупреждение. Така че се нуждаем от система, която ни позволява бързо да променяме поведението си, за да реагираме на тези ситуации.

Zuul предлага набор от различни видове филтри което ни позволява бързо и пъргаво да прилагаме функционалност към нашата крайна услуга. Филтрите изпълняват следните функции:

    Удостоверяване и сигурност:Той предоставя изисквания за удостоверяване за всеки ресурс.
    Прозрения и наблюдение:Той проследява значими данни и статистики, които ни дават точна представа за производството.
    Динамично маршрутизиране:Той динамично насочва заявките към различни поддържани клъстери, ако е необходимо.Стрес тестване:Той увеличава трафика към клъстер, за да тества производителността.Намаляване на натоварването:Той разпределя капацитет за всеки тип заявка и премахва заявка, която надхвърля ограничението.Обработка на статичен отговор:Той изгражда някои отговори директно на ръба, вместо да ги препраща към вътрешен клъстер.Мултирегионална устойчивост:Той насочва заявки през региони на AWS, за да разнообрази използването на ELB.

Zuul компоненти

Zuul 2.x компоненти:

    зуул-ядро:Това е библиотека, която съдържа основната функционалност на Zuul 2.0.zuul-проба:Това е примерно приложение за драйвер за Zuul 2.0

Zuul 1.x компоненти:

    зуул-ядро:Той определя основната функционалност.zuul-просто-webapp:Уеб приложение, което показва прост пример за това как да създадете приложение с zuul-core.zuul-netflix:Това е библиотека, която добавя други NetflixOSS компоненти към Zuul.zuul-netflix-webapp:Това е уеб приложение, което пакетира zuul-core и zuul-netflix заедно.

Настройване на Zuul API Gateway Server

Има три стъпки за настройка на Zuul API Gateway:

  • Създайте компонент за Zuul API Gateway
  • Решете нещата, които Zuul API Gateway трябва да прави
  • Всички важни заявки са конфигурирани да преминават през Zuul API Gateway

Следвайте стъпките, за да настроите сървъра Zuul API Gateway.

Етап 1: Отворете Пролетно инициализиране https://start.spring.io .

Стъпка 2: Осигурете на Група име. Осигурили сме com.javatpoint.microservices.

Стъпка 3: Осигурете на Артефакт. Осигурили сме netflix-zuul-api-шлюз-сървър.

Стъпка 4: Добавете следните зависимости: Zuul, Eureka Discovery, Актуатор, и DevTools.

Zuul API Gateway

Стъпка 5: Кликнете върху Генерирай бутон. Започва да опакова проекта в цип файл и го изтеглете.

Zuul API Gateway

Стъпка 6: Извличане zip файла и го поставете в работното пространство на Spring Tool Suite.

Стъпка 7: Импортиране проекта в STS IDE.

Файл -> Импортиране -> Съществуващи проекти на Maven -> Преглед -> Избор netflix-zuul-api-шлюз-сървър -> Изберете папка -> Край

Импортирането отнема известно време.

Стъпка 8: Отвори NetflixZuulApiGatewayServerApplication.java файл и активирайте zuul прокси и клиент за откриване, като използвате анотациите @EnableZuulProxy и @EnableDiscoveryClient, съответно .

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: Отворете приложение.свойства файл и конфигурирайте име на приложението, порт, и eureka сървър за именуване .

приложение.свойства

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Щракнете тук, за да изтеглите netflix-zuul-api-gateway-сървър