Gateway Service I. Единая точка входа в приложение

Итак, система наших микросервисов готова и функционирует, однако необходимо решить несколько сквозных задач:

  1. Упростить процесс взаимодействия клиентов с системой, скрыв все внутренние адреса микросервисов, вместо этого выставив наружу единый URL для работы с эндпоинтами. Другими словами, создать единую точку входа в приложение.
  2. Ограничить частоту запросов (Rate Limiting) в единицу времени, что позволит снизить вероятность DDoS атак, а также контролировать нагрузку на инфраструктуру.
  3. Организовать распределенную трассировку запросов, добавив в них заголовки, позволяющие отследить путь каждого запроса по микросервисам.
  4. Добавить аутентификацию и авторизацию пользователей.
  5. Обеспечить централизованное логирование и сбор метрик, позволяющих контролировать состояние системы.
В этом уроке мы реализуем единую точку входа в нашу систему микросервисов с помощью Spring Cloud Gateway, внедрим фильтры Retry и Rate Limiting, настроим CircuitBreaker и маршрутизацию запросов. gateway server

Доступ после оплаты курса


Основные компоненты и принципы работы

Настройка Spring Cloud Gateway

  • ДЗ: интеграция с Config и Eureka серверами
  • Настройка таймаутов
  • Настройка CircuitBreaker
  • Маршрутизацию запросов

Настройка фильтров по умолчанию

  • Фильтр Retry
  • Фильтр RequestRateLimiter, подключение Redis
Далее перейдем к организации распределенной трассировке запросов
Занятие 11: Gateway Service II