Gateway Service I. Единая точка входа в приложение
Итак, система наших микросервисов готова и функционирует, однако необходимо решить несколько сквозных задач:
- Упростить процесс взаимодействия клиентов с системой, скрыв все внутренние адреса микросервисов, вместо этого выставив наружу единый URL для работы с эндпоинтами. Другими словами, создать единую точку входа в приложение.
- Ограничить частоту запросов (Rate Limiting) в единицу времени, что позволит снизить вероятность DDoS атак, а также контролировать нагрузку на инфраструктуру.
- Организовать распределенную трассировку запросов, добавив в них заголовки, позволяющие отследить путь каждого запроса по микросервисам.
- Добавить аутентификацию и авторизацию пользователей.
- Обеспечить централизованное логирование и сбор метрик, позволяющих контролировать состояние системы.
Основные компоненты и принципы работы
Настройка Spring Cloud Gateway
- ДЗ: интеграция с Config и Eureka серверами
- Настройка таймаутов
- Настройка CircuitBreaker
- Маршрутизацию запросов
Настройка фильтров по умолчанию
- Фильтр Retry
- Фильтр RequestRateLimiter, подключение Redis
Занятие 11: Gateway Service II