logo

Шлюз Zuul API

Що таке Зуул?

Zuul Server — це програма шлюзу API. Він обробляє всі запити та виконує динамічну маршрутизацію мікросервісних програм. Він працює як вхідні двері для всіх запитів. Він також відомий як Граничний сервер.

Зуул створений, щоб увімкнути динамічна маршрутизація, моніторинг, відмовостійкість, і безпеки. Він також може направляти запити до кількох Групи автоматичного масштабування Amazon .

Наприклад, /api/products зіставляються з продукт обслуговування і /api/користувач зіставляється з користувача обслуговування. Сервер Zuul динамічно направляє запити до відповідної серверної програми.

Чому ми використовуємо Zuul?

Обсяг і різноманітність трафіку API Netflix іноді призводять до проблем із виробництвом, які виникають швидко й без попередження. Тому нам потрібна система, яка дозволить нам швидко змінювати поведінку, щоб реагувати на ці ситуації.

Zuul пропонує широкий вибір різних типів фільтри що дозволяє нам швидко та спритно застосовувати функціональні можливості до нашої периферійної служби. Фільтри виконують такі функції:

    Автентифікація та безпека:Він містить вимоги до автентифікації для кожного ресурсу.
    Статистика та моніторинг:Він відстежує важливі дані та статистику, які дають нам точне уявлення про виробництво.
    Динамічна маршрутизація:За потреби він динамічно направляє запити до різних підтримуваних кластерів.Стрес-тестування:Це збільшує трафік до кластера, щоб перевірити продуктивність.Скидання навантаження:Він розподіляє ємність для кожного типу запиту та відкидає запит, який перевищує ліміт.Обробка статичної відповіді:Він створює деякі відповіді безпосередньо на межі, а не пересилає їх у внутрішній кластер.Мультирегіональна стійкість:Він направляє запити між регіонами AWS, щоб диверсифікувати використання ELB.

Компоненти Zuul

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

    zuul-core:Це бібліотека, яка містить основні функції Zuul 2.0.zuul-зразок:Це зразок програми драйвера для Zuul 2.0

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

    zuul-core:Він визначає основні функції.zuul-simple-webapp:Веб-програма, яка показує простий приклад створення програми за допомогою zuul-core.zuul-netflix:Це бібліотека, яка додає інші компоненти NetflixOSS до Zuul.zuul-netflix-webapp:Це веб-додаток, який об’єднує zuul-core та zuul-netflix.

Налаштування сервера Zuul API Gateway

Є три кроки для налаштування Zuul API Gateway:

  • Створіть компонент для Zuul API Gateway
  • Вирішіть, що повинен робити Zuul API Gateway
  • Усі важливі запити налаштовано на проходження через API-шлюз Zuul

Дотримуйтеся вказівок, щоб налаштувати сервер Zuul API Gateway.

Крок 1: ВІДЧИНЕНО Ініціалізація пружини https://start.spring.io .

крок 2: Надайте Група назва. Ми забезпечили com.javatpoint.microservices.

крок 3: Надайте Артефакт. Ми забезпечили netflix-zuul-api-шлюзовий сервер.

крок 4: Додайте такі залежності: Zuul, Eureka Discovery, Привід, і DevTools.

Шлюз Zuul API

крок 5: Натисніть на Генерувати кнопку. Він починає упаковувати проект у zip файл і завантажте його.

Шлюз Zuul API

Крок 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-server