170 похожих чатов

Доброго времени суток господа. Подскажите, пожалуйста, кто нибудь интегрировал уже

в существующий проект на mvc, spring-webflux?
Работают ли асинхронные вызовы флакса в томкате ?
Я вот обнаружил что у меня запрос выполняется 14 сек, из-за синхронных запросов в сторонний сервис майкрософта. Тоесть 10 запросов выполняются 11+ сек. Хочу чтобы 10 запросов выполнялись за 2 сек. При этом чтобы не пришлось весь проект перерисывать на реактивный стек

55 ответов

13 просмотров

Вообще непонятно, чем тебе поможет асинхронность тут.

Frank-Richards Автор вопроса
Frank Richards
Разом отправить 10 запросов например...

Отправь их разом синхронно из 10 разных потоков, радуйся жизни.

Frank Richards
Разом отправить 10 запросов например...

Это многопоток а не нон блокинг если разом

Frank Richards
Извращение

Переписывать микроскопический кусок приложения отдельно на асинхронный-реактивный стек, при этом оставляя всё остальное приложение без этого - вот это извращение. Многопоточность - не извращение.

Frank-Richards Автор вопроса
Denis Chikanov
Переписывать микроскопический кусок приложения отд...

Многопоток -> проблемы при скейлинге и кластеризации

Denis Chikanov
Переписывать микроскопический кусок приложения отд...

Так а что это возможно разве? ты не будешь кусок сделать реактивным а все остальное нет же

был уже вопрос

Смотри, возвращай из контроллера CompletableFuture<T> заведи @Async конфиг и на нем выполняй свои запросы, они будут параллельными все фьючи композируй и отдавать контроллеру

Frank-Richards Автор вопроса

Только если подключишь webflux будет одна маленькая проблемка, везде даже не в реактивных роутах добавляется content disposition

mvc это сервлеты, webflux с сервлетами нормально не дружит, это вкратце

Frank-Richards Автор вопроса
FJP
mvc это сервлеты, webflux с сервлетами нормально н...

в превьюшке вебфлакса был и томкат рядом с нетти, вот и думал что и томкат может

Frank Richards
в превьюшке вебфлакса был и томкат рядом с нетти, ...

Он то может, только миксовать два апи нельзя

Frank-Richards Автор вопроса
Alexandr ∨∧‾ Emelyanov
Это с какого перепугу?

Использование прямого многопотока вредно для масштабирования

Frank Richards
Использование прямого многопотока вредно для масшт...

Просто не нужно писать классы имеющие состояние. Почитай о функциональном программирование

Frank-Richards Автор вопроса
Max Vrady
Просто не нужно писать классы имеющие состояние. П...

Под многопотоком как таковым я там имел ввиду использование sync/wait/notify. тоесть многопоток на низком уровне

Frank Richards
Под многопотоком как таковым я там имел ввиду испо...

Ну можно же на более выском типо executor, completableFuture

Frank Richards
Под многопотоком как таковым я там имел ввиду испо...

Так а зачем ты его в виду-то имел? Тебе никто не предлагал все примитивы переписывать

Вообще мы использовали реактивный WebClient в mvc стеке. Вроде ничего страшного не произошло. Просто вызывали блокирующую операцию на Mono после всех параллельных вызовов.

Даниил Разоренов
Вообще мы использовали реактивный WebClient в mvc ...

А в чем был ризон юзать WebClient если под капотом синхронный томкат?

Islam Yusubov
А в чем был ризон юзать WebClient если под капотом...

Когда нужно делать много параллельных rest вызовов, то профит что можно сделать много запросов не дожидаясь, когда придут ответы. И потом разом всего дождаться и агрегировать.

Даниил Разоренов
Когда нужно делать много параллельных rest вызовов...

Так система же получит нагрузку с которой может не справиться , с большей вероятностью при таком раскладе?

Islam Yusubov
А в чем был ризон юзать WebClient если под капотом...

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

Даниил Разоренов
Не совсем так. Он переведен в режим maintenance on...

Ключевое в том что на томкате нет резона юзать вебклиент за исключением рекомендации из доков или если он больше нравится

Denis
Нет резона, только если он просто больше нравится ...

Ну про рест темплейт слышал , чет подзабыл , да и смотрю его не списывают со счетов пока осоьо

Denis
Ключевое в том что на томкате нет резона юзать веб...

Не согласен. Как также легко можно организовать параллельность запросов? Самое близкое, что могу придумать - можно запараллелить стримы, но там это желательно делать на своем fork-join пуле, чтобы common pool не блочить IO операциями.

Denis
Completable future?

И там удобно потом смержить результат как раз

Islam Yusubov
А в чем был ризон юзать WebClient если под капотом...

У веб клиента нет под капотом томката, это клиент, вызывающая сторона, а томкат это сервер Т.е. все ок, профит будет

Alexandr ∨∧‾ Emelyanov
У веб клиента нет под капотом томката, это клиент,...

Не понял, поток не залочиться? Т е будет асинк вызов на томкате? Что то не понимаю щас, ты же блочишь поток когда делаешь wait или что там у вебклиента

Denis
Completable future?

Приведите пример с completable future и давайте сравним его с WebClient

Даниил Разоренов
Приведите пример с completable future и давайте ср...

Ну я возможно не правильно понял. Уточню, вы делаете запрос вебклиентом и делает wait? Или блок что там у вебклиента

Alexandr ∨∧‾ Emelyanov
У веб клиента нет под капотом томката, это клиент,...

Я не про вебклиент, а про мвс уже было печатал что сказанул лишнего mvc != томкат , но вроде алттернативы там тоже не асинхронные

Alexandr ∨∧‾ Emelyanov
Да, но можно их наплодить и комбинировать

А чем это лучше completable future? Я помню делал две фьючи отправлял а потом как то мержил их же методами

Islam Yusubov
Я не про вебклиент, а про мвс уже было печатал чт...

Ничего не понял. А исходное сообщение про клиент

Denis
Ключевое в том что на томкате нет резона юзать веб...

А чего вы в томкат-то все пинаете? Его заменить - одну зависимость добавить в проект

Алексей
А чего вы в томкат-то все пинаете? Его заменить - ...

Я не пинаю, я пытаюсь понять преимущество вебклиента без реактивного стека в целом

Алексей
Так это вообще не связано ведь)

Ну косвенно связанно, ибо поток томката то все ровно будет блокироваться, просто вот по ресурсам это менее затратно от future из сообщения выше) для меня это новая инфа)

Denis
А чем это лучше completable future? Я помню делал ...

У тебя внутри каждой фьючи залочится по потоку, а с вебклиентом пулинг всех запросов будет одним потоком

Alexandr ∨∧‾ Emelyanov
Ничего не понял. А исходное сообщение про клиент

Я о томкате говорил что он в мвс , а не вебклиенте

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта