Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Spring: spring, webflux, reactive

Что такое Spring WebFlux?

Вопрос проверяет знание реактивного стека Spring и понимание, чем WebFlux отличается от классического Spring MVC.

Короткий ответ

Spring WebFlux — это реактивный web-фреймворк Spring. Он построен на неблокирующем I/O и реактивных потоках. WebFlux использует малое количество потоков для обслуживания большого числа запросов. Он хорошо подходит для высоконагруженных систем и асинхронных сценариев. При этом WebFlux не заменяет Spring MVC, а дополняет его.

Длинный ответ

Spring WebFlux — это альтернативный web-стек Spring, созданный специально для реактивного программирования.

Определение

Spring WebFlux — это реактивный web-фреймворк Spring, основанный на неблокирующем I/O и спецификации Reactive Streams.

Архитектурные основы WebFlux

Перед перечислением важно понять: WebFlux строится вокруг реактивных типов, а не обычных объектов.

1) Реактивные типы

  1. Mono — 0 или 1 значение

  2. Flux — 0 или множество значений

  3. Все операции — асинхронные

2) Неблокирующий runtime

  1. Часто используется Netty

  2. Минимальное количество потоков

  3. Потоки не простаивают в ожидании

3) Две модели программирования

  1. Аннотационная

    • похожа на Spring MVC

    • @RestController, @GetMapping

  2. Функциональная

    • маршруты как функции

    • более явное управление потоком данных

Пример идеи контроллера

@GetMapping("/users/{id}")
public Mono<UserDto> getUser(long id) {
    return userService.findById(id);
}

Когда WebFlux оправдан

  1. API Gateway

  2. Агрегация данных из нескольких сервисов

  3. Стриминг и SSE

  4. Высокая нагрузка при I/O

Когда не нужен

  1. Обычные CRUD-сервисы

  2. CPU-bound логика

  3. Проекты без реактивного стека

Краткий вывод

Spring WebFlux — мощный инструмент для реактивных сценариев, но его стоит выбирать осознанно, а не «по моде».

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Spring

    Spring

Ключевые слова

#spring

#webflux

#reactive

Подпишись на Java Developer в телеграм