#webflux

2025-11-19

[Перевод] Нативный API Versioning в Spring 7: долгожданная официальная поддержка

Команда Spring АйО подготовила перевод статьи о том, как Spring Framework 7 приносит нативную поддержку API-версионирования — темы, которая годами оставалась на разработчиках и собирала тонны костылей. Теперь Spring Framework предлагает единый, продуманный механизм как для серверной, так и для клиентской стороны. Что это меняет для архитектуры и разработки на Spring — разберёмся в статье.

habr.com/ru/companies/spring_a

#Spring #APIversioning #Spring7 #WebMVC #WebFlux #RestClient #WebClient #RequestMapping #версионирование #депрекейт

2025-10-15

SSE + Java + WebFlux = энтерпрайз решение для отправки пушей

В этом посте я расскажу, почему для доставки push-уведомлений в клиентское приложение была выбрана технология Server-Sent Events , и главное, как реализовать масштабируемый SSE сервис на Java + Spring Boot + Webflux, который подойдет для использования не только в небольших проектах, но и в крупных организациях с большим количеством пользователей. Естественно, без подготовки дополнительной инфраструктуры не обойдется.

habr.com/ru/articles/956766/

#java #webflux #sse #spring #микросервисы #энтерпрайз #архитектура #инфраструктура #rabbitmq #redis

2025-10-15

Graph Ql клиент. Быстрый старт

Приветствую, коллега. Не так давно столкнулись с необходимостью реализовать взаимодействие с Graph Ql сервисом. Появилась задача аутентификации, настройки подключения, получения и передачи потребителям информации. В результате нашли много материалов, в которых описано, как развернуть Graph Ql сервис, как его использовать с базой данных. Например вот , и вот . Это подробные статьи, которые помогут решить сложные задачи. Но что делать, если стоит задача поменьше и хочется получить комплексное описание решения? Хочу предложить вариант, насытив его информацией, которая принесет пользу. Заказчик получит работающий сервис, разработчик необходимые знания и способ решения, который можно дополнять и улучшать для конкретных условий использования. Для погружения в Graph Ql и детали его использования есть статьи - вот , вот , вот и документация . Эта статья будет сосредоточена на задаче реализации клиента к Graph Ql серверу. Если для вас стоит подобная задача, то нам по пути. Поехали ...

habr.com/ru/companies/alfastra

#spring #redis #webflux #graphql #kafka #высоконагруженные_приложения #рефакторинг #unit_testing #backend #analytics

2025-05-26

Как я открыл WebSocket для Сомников из Чёрного Зеркала, а они начали водить хороводы

С приходом популярности генеративных нейросетей, другие виды искусственного интеллекта тоже получили своё место под солнцем. Однако, ещё до этого уже существовали проекты, где искусственный интеллект играет в различные игры, получает очки за достижение целей и обучается на основе своих результатов. При этом, у каждого игрового ИИ есть свой массив доступных ему действий, который может быть постоянным или изменяемым согласно правилам. Я решил собрать небольшой проект, описать механизм взаимодействия ИИ с игровым пространством, а уже потом наполнить игру правилами и смыслом.

habr.com/ru/articles/912934/

#искусственный_интеллект #java #html #javascript #webflux #spring #qlearning #gamedev #черное_зеркало

2025-05-22

Spring. Аутентификация на reactive feign

В этой статье проведены параллели между обработкой ошибок в feign и reactivefeign клиентах на примере реализации starter, который реализует аутентификацию по OAuth 2.0 в spring reactive подходе. В этой статье не будет описания реактивного стека. Если Вы хотите разобраться, какие есть преимущества и зачем его применять, рекомендую посмотреть эту серию статей . В этой статье не будет сравнения реактивного и нереактивного подхода. Для этого есть такая статья . В этой статье я хочу показать, что перевод компонентов на реактивность - несложная задача по рефакторингу, которая не займет много времени. Добавить монетку в копилку того, что перевод на реактивность - процесс, основные затраты в котором нужно сделать на первом шаге, когда Вы решаетесь применять этот подход, а адаптировать существующие компоненты просто.

habr.com/ru/companies/alfastra

#java #springboot #reactor #keycloak #authentication #unittesting #tdd #feign #starter #webflux

2025-02-20

Spring Reactor. Эволюция сервисов. На пути к реактивности

Это статья описывает опыт миграции традиционного приложения java spring на Spring reactor стек. О специфике разрабатываемой информационной системы, уже подробно рассказывал . Кратко о системе - смешанная сервисно-микросервисная архитектура. Чтобы получить бизнес результат, требуется вызвать микросервис, который вызывает сервис, который вызывает набор микросервисов для формирования ценностного набора данных. Получается цепочка вызовов. Сервисы и микросервисы разрабатывались на традиционном технологическом стеке, без использования реактивного подхода. Мое знакомство с реактивным подходом произошло в 2022 году. Плюсы и минусы я осознавал, как мог. В рамках разрабатываемой системы мне было сложно найти ему точку применения. Тогда сложилось понимание, что в существующих рамках реактивный подход не даст возможности эволюционных изменений. Если его применять, то применять ко всему и сразу, как постулирует реактивный манифест . Даешь революцию! Это было заблуждение. Его я не смог разрушить, даже изучая документацию и статьи. Чего-то релевантного моей ситуации в открытых источниках я найти не мог. Этой статьей постараюсь предложить путь и убедить сомневающихся, что долго раздумывать не стоит. Делайте смелый шаг на пути к реактивному стеку.

habr.com/ru/companies/alfastra

#spring_boot #webflux #tomcat #asynchronous #nio #netty #reactor #redis #performance #feign

2025-01-22

Красивая обработка ответов в WebClient

Преимущества асинхронного взаимодействия ясны многим, однако работа с библиотекой WebFlux часто вызывает затруднения у Java-разработчиков В этой статье разложены основы работы с webclient и реактивными стримами, взаимодействия Издателя и Подписчика, а также обработки ответов и ошибок, возникающих в процессе выполнения программы

habr.com/ru/articles/873358/

#java #webflux #spring

2024-09-04

Ok, finally gotten there!

Futures are weird, but a whole lot less weird than #WebFlux. Though, obviously come with a lot more boilerplate.

2024-09-03

Playing around with #Java threading today.
We're moving away from #WebFlux, as we found it a little opaque, and the team (my self included) never felt overly comfortable with it.

Back to older style threading, even if it's more boiler plate and potentially not as performant.

#Programming #Tech

2024-07-16

[Перевод] 7 основных способов оптимизировать кеширование в Spring Boot

В условиях растущих требований к производительности современных приложений, кеширование становится одним из ключевых инструментов для их удовлетворения. В новом переводе от команды Spring АйО вы узнаете про 7 основных техник оптимизации кеширования в Spring Boot, которые могут помочь значительно улучшить производительность. От выбора идеальных кандидатов для кеширования до реализации асинхронного кеша и мониторинга метрик кеша.

habr.com/ru/companies/spring_a

#spring #springboot #java #actuator #micrometer #cache #webflux

2024-05-08

While i really like some of Spring Reactive WebFlux stuff... I also really dislike it...

Finding the contexts the threads run in are a tad difficult to follow...

#Java #Spring #WebFlux #Code #Programming #Tech

2024-05-06

Когда переключаются потоки в Spring WebFlux

Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиков Код выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлять Сегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в WebFlux, это поможет вам допускать меньше ошибок и писать более производительный код Также другие материалы от меня вы сможете найти в моем телеграм блоге

habr.com/ru/articles/811289/

#java #kotlin #spring #webflux #реактивное_программирование #mono #flux #многопоточность #multithreading #потоки

Tomasz Nurkiewicznurkiewicz@fosstodon.org
2024-04-08

I suspect #Kafka UI is using #Spring #WebFlux and #Java. There are some hints, about 137 of them in the exposed stack trace

A screenshot showing 404 error screen from Kafka UI. It displays unformatted stack trace with more than 100 mentions of `Flux` from Spring WebFlux
2024-03-16

Разработка высоконагруженного игрового WebSocket сервера на Kotlin, Webflux с поддержкой BattleRoyale/Matchmaking

Всем доброго времени суток. Некоторое время назад мною была написана статья , где я детально описал процесс разработки демо игрового вебсокет сервера. На этот раз, я хотел бы поделиться более усовершенствованным и оптимизированным материалом на Kotlin и реактивном стеке .

habr.com/ru/articles/800689/

#java #kotlin #netty #webflux #websocket #gamedevelopment #spring #springboot #разработка_игр #highload

2024-02-28

The more I like WebFlux, the more i dislike it...

It's a very weird feeling.

#Java #Spring #WebFlux #Reactive #Programming #Code

2024-02-25

Использование resilience4j со Spring Boot

resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни

habr.com/ru/articles/793550/

#resilience4j #отказоустойчивость #java #spring_boot #spring_framework #circuit_breaker #rate_limiter #retry #webflux #hystrix

2024-02-13

Доступ к эндпоинтам Java Spring Reactive WebFlux со списка разрешенных IP адресов/подсетей

Пример настройки безопасности по разрешенному списку IP адресов/подсетей в Java Spring Reactive Security (WebFlux). Посмотреть полностью

habr.com/ru/articles/793300/

#Java #Spring #Security #Reactive #WebFlux #IP #Whitelist #access

2024-01-04

I've fixed this by using `.switchIfEmpty(Mono.just(some.class))` - so the Mono's we feed into the `Mono.zip` always have something returned.

An easy fix, just one I wasn't at all expecting!

#java #spring #reactive #webflux #programming #tech

2024-01-04

The more I learn about #Spring #WebFlux, the more I like AND dislike it 😂

#Java #Programming #Code #Tech

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst