home.social

#webflux — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #webflux, aggregated by home.social.

  1. WebFlux vs Virtual Threads: что происходит при 2000 RPS

    Всем привет! Меня зовут Александр, и сегодня я расскажу о результатах перевода учебного проекта со Spring WebFlux и Netty на Spring MVC и Tomcat с виртуальными потоками и проверки обоих вариантов под нагрузкой в 2000rps. В качестве подопытного будет выступать система микросервисов, разработанная в рамках курса CloudJava .

    habr.com/ru/articles/1024936/

    #Java #virtual_threads #webflux #springboot #netty #tomcat

  2. WebFlux, Virtual Threads и все-все-все

    Или: как спорили о реактивщине, а потом Java 21 всё запутала ещё сильнее Реактивное программирование обещало нам масштабируемость и производительность. Оно их дало. Но вместе с этим подарило новый вид боли: stacktrace на 47 фреймов, половина из которых operator.onNext , а элементарные вещи написаны так, словно решаешь задачу на leetcode. Потом подвезли Virtual Threads, и половина интернета написала «реактивщина умерла», другая – «ничего не изменилось». Истина где-то посередине. Попробуем с вами разобраться.

    habr.com/ru/articles/1011538/

    #webflux #виртуальные_потоки #virtual_threads #spring #java #reactive

  3. Инженерия создания микросервиса spring-web-flux

    Создать Spring-сервис просто: существует масса статей и отличная документация. Однако среди всего этого многообразия материалов зачастую сложно разобраться, какой именно набор технологий лучше выбрать и каким образом эти технологии должным образом интегрировать друг с другом. После перехода на новые версии библиотек многое начинает функционировать иначе, появляются совершенно другие подходы. В данной статье я хочу продемонстрировать один из возможных способов разработки микросервиса в 2026 году, а также рассмотреть несколько инструментов автоматической генерации кода: OpenApiGenerator, JooqCodegen, GigaChat, Liquibase — и объяснить, как они работают вместе в рамках единого проекта. Точкой отсчета для построения микросервиса сделаем описание REST API. Допустим, в нашем фантастическом мире аналитик заранее подготовил спецификацию API с помощью формата OpenAPI, хотя подобное встречается и в реальной практике.

    habr.com/ru/articles/982774/

    #spring_framework #reactor #webflux #openapi_generator #jooqcodegen #liquibase #microservices

  4. Инженерия создания микросервиса spring-web-flux

    Создать Spring-сервис просто: существует масса статей и отличная документация. Однако среди всего этого многообразия материалов зачастую сложно разобраться, какой именно набор технологий лучше выбрать и каким образом эти технологии должным образом интегрировать друг с другом. После перехода на новые версии библиотек многое начинает функционировать иначе, появляются совершенно другие подходы. В данной статье я хочу продемонстрировать один из возможных способов разработки микросервиса в 2026 году, а также рассмотреть несколько инструментов автоматической генерации кода: OpenApiGenerator, JooqCodegen, GigaChat, Liquibase — и объяснить, как они работают вместе в рамках единого проекта. Точкой отсчета для построения микросервиса сделаем описание REST API. Допустим, в нашем фантастическом мире аналитик заранее подготовил спецификацию API с помощью формата OpenAPI, хотя подобное встречается и в реальной практике.

    habr.com/ru/articles/982774/

    #spring_framework #reactor #webflux #openapi_generator #jooqcodegen #liquibase #microservices

  5. Инженерия создания микросервиса spring-web-flux

    Создать Spring-сервис просто: существует масса статей и отличная документация. Однако среди всего этого многообразия материалов зачастую сложно разобраться, какой именно набор технологий лучше выбрать и каким образом эти технологии должным образом интегрировать друг с другом. После перехода на новые версии библиотек многое начинает функционировать иначе, появляются совершенно другие подходы. В данной статье я хочу продемонстрировать один из возможных способов разработки микросервиса в 2026 году, а также рассмотреть несколько инструментов автоматической генерации кода: OpenApiGenerator, JooqCodegen, GigaChat, Liquibase — и объяснить, как они работают вместе в рамках единого проекта. Точкой отсчета для построения микросервиса сделаем описание REST API. Допустим, в нашем фантастическом мире аналитик заранее подготовил спецификацию API с помощью формата OpenAPI, хотя подобное встречается и в реальной практике.

    habr.com/ru/articles/982774/

    #spring_framework #reactor #webflux #openapi_generator #jooqcodegen #liquibase #microservices

  6. Инженерия создания микросервиса spring-web-flux

    Создать Spring-сервис просто: существует масса статей и отличная документация. Однако среди всего этого многообразия материалов зачастую сложно разобраться, какой именно набор технологий лучше выбрать и каким образом эти технологии должным образом интегрировать друг с другом. После перехода на новые версии библиотек многое начинает функционировать иначе, появляются совершенно другие подходы. В данной статье я хочу продемонстрировать один из возможных способов разработки микросервиса в 2026 году, а также рассмотреть несколько инструментов автоматической генерации кода: OpenApiGenerator, JooqCodegen, GigaChat, Liquibase — и объяснить, как они работают вместе в рамках единого проекта. Точкой отсчета для построения микросервиса сделаем описание REST API. Допустим, в нашем фантастическом мире аналитик заранее подготовил спецификацию API с помощью формата OpenAPI, хотя подобное встречается и в реальной практике.

    habr.com/ru/articles/982774/

    #spring_framework #reactor #webflux #openapi_generator #jooqcodegen #liquibase #microservices

  7. [Перевод] Нативный 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 #версионирование #депрекейт

  8. [Перевод] Нативный 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 #версионирование #депрекейт

  9. [Перевод] Нативный 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 #версионирование #депрекейт

  10. [Перевод] Нативный 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 #версионирование #депрекейт

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

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

    habr.com/ru/articles/956766/

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

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

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

    habr.com/ru/companies/alfastra

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

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

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

    habr.com/ru/articles/912934/

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

  14. 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

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

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

    habr.com/ru/companies/alfastra

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

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

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

    habr.com/ru/articles/873358/

    #java #webflux #spring

  17. Ok, finally gotten there!

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

  18. 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

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

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

    habr.com/ru/companies/spring_a

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

  20. 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

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

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

    habr.com/ru/articles/811289/

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

  22. I suspect UI is using and . There are some hints, about 137 of them in the exposed stack trace

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

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

    habr.com/ru/articles/800689/

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

  24. Использование 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

  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

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

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

    habr.com/ru/articles/793300/

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

  27. 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

  28. @infosec812 Actually simplified WebSockets significantly. E.g. here's a complete rudimentary chat that receives a message over web socket and broadcasts to everyone else: github.com/nurkiewicz/reactor-. Maybe 10 lines of real code.

  29. I wonder if there's a way to use Azure KeyVault Certificates for SSL in Spring Boot apps - have seen ways to do this in WebMVC but not in WebFlux ... #SpringBoot #Azure #WebFlux #SSL

  30. Not sure if I'm amazed how detailed the stack trace is, or terrified looking at the number of operators involved for a simple HTTP 404.

  31. How to read a live-stream of posts on #Mastodon using #Java #Spring and #WebFlux. About 5-10 posts per second