powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Чем асинхронные сервлеты отличаются от Sping WebFlux
25 сообщений из 146, страница 3 из 6
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831775
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerешё раз повторю к Вам вопрос:
Так просветите тогда уж раз уж Вы не согласны)Ваш вопрос на самом деле звучит так: я решил что с левой ноги вставать лучше, обоснуйте почему я неправ. Операционная система предоставляет две возможности, вокруг которых крутится вся оптимизация: Zero Copy (DMA и sendfile) - не копируем данные в user space, и Async I/O - не ждем ответа, а узнаем есть что новое для нас или нет. Если у вас приложение не умеет ни то, ни другое, то толку от асинхронной обработки http нет никакого, потому что совершенно нет никакой разницы в каком потоке выполнятьсяждать.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831795
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов, так плюсов в использовании servlet 3.1 нет?
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831798
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner, чето был уверен, что все таки с rxjava они, оказалось да..Reactor у них свой. Просто они черпали идеи из rxjava - где-то читал, потому и осело в голове.


авторЯ вот это не совсем понял. Мне кажется это релевантно для медленного коннекшена или медленного клиента, который медленно шлёт или принимает. Какие ещё могут быть точки торможения я не представляю. То как там NIO будет работать с вводом выводом это уже не так интересно. Меня вполне удовлетворит абстракция, что она это сделает эффективно.

не понял, если честно ;)
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831802
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинАндрей Панфилов, так плюсов в использовании servlet 3.1 нет?

в плане производительности ?

Тащем та я как понял, это еще один API который позволяте использовать потоки контейнера вместо самодельного велосипета что вкупе с особоненостями tomcat можно получить неприятные эффекты.

Из гуд ньюз то потоки управляемые контейнером, контейнер имеет доступ и может управлять их жизненным циклом. Ежели томкату скажут "все" то он сможем им передать этим потокам что "все". С самодельными потоками часто никто не заморачивается их привзякой к томкату.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831808
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверинquestioner, чето был уверен, что все таки с rxjava они, оказалось да..Reactor у них свой. Просто они черпали идеи из rxjava - где-то читал, потому и осело в голове.


авторЯ вот это не совсем понял. Мне кажется это релевантно для медленного коннекшена или медленного клиента, который медленно шлёт или принимает. Какие ещё могут быть точки торможения я не представляю. То как там NIO будет работать с вводом выводом это уже не так интересно. Меня вполне удовлетворит абстракция, что она это сделает эффективно.

не понял, если честно ;)
Вот что пишет чувак из Pivotal:

https://stackoverflow.com/a/56808576/2674303 When using Servlet 2.5, Servlet containers will assign a request to a thread until that request has been fully processed.

When using Servlet 3.0 async processing, the server can dispatch the request processing in a separate thread pool while the request is being processed by the application. However, when it comes to I/O, work always happens on a server thread and it is always blocking. This means that a "slow client" can monopolize a server thread, since the server is blocked while reading/writing to that client with a poor network connection.

With Servlet 3.1, async I/O is allowed and in that case the "one request/thread" model isn't anymore. At any point a bit request processing can be scheduled on a different thread managed by the server.

Servlet 3.1+ containers offer all those possibilities with the Servlet API. It's up to the application to leverage async processing, or non-blocking I/O. In the case of non-blocking I/O, the paradigm change is important and it's really challenging to use.

With Spring WebFlux - Tomcat, Jetty and Netty don't have the exact same runtime model, but they all support reactive backpressure and non-blocking I/O.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831810
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфиловquestionerешё раз повторю к Вам вопрос:
Так просветите тогда уж раз уж Вы не согласны)Ваш вопрос на самом деле звучит так: я решил что с левой ноги вставать лучше, обоснуйте почему я неправ. Операционная система предоставляет две возможности, вокруг которых крутится вся оптимизация: Zero Copy (DMA и sendfile) - не копируем данные в user space, и Async I/O - не ждем ответа, а узнаем есть что новое для нас или нет. Если у вас приложение не умеет ни то, ни другое, то толку от асинхронной обработки http нет никакого, потому что совершенно нет никакой разницы в каком потоке выполнятьсяждать.


Продолжайте мысль....
Вопрос вполне конкретный. Приведите пример при каком юзкейсе servlet 3.0 даст преимущество перед servlet 2.5
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831812
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинплюсов в использовании servlet 3.1 нет?народ скорее кафкой масштабировать будет)
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831814
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин1. В версии http 1.0 каждый запрос порождал соединение. Запрос - соединение создается - ответ - соединение закрывается
1.2. Один запрос - один поток. Причем это дорогой поток, потому что является блокироующим: и поток, и ресурсы(база, файл, io).

Тут кроется проблема - скорость! http 1. 0 медленный из-за того, что на каждый запрос приходится открывать и закрывать соединение

2. В версии http 1.1 в рамках одного соединения может быть несколько запросов, каждый из которых будет в своем отдельном потоке.
Скорость увеличивается для клиентов, которые посылают запросы пачками, но, возникает проблема, что web container быстро расходует pool потоков."Смешались в кучу кони, люди ..."
Постоянные подключения появились уже в HTTP/1.0 (прагма keep-alive). HTTP/1.1 сделал постоянные подключения вариантом по умолчанию (Connection: close). Детали когда "можно постоянные подключения" - опускаются.
Постоянные подключения сами по себе не увеличивают число потоков исполнения - запросы продолжают поступать и обрабатываться строго последовательно.
Установление подключения - десятки-сотни миллисекунд и для запросов продолжительнее трёх-пяти секунд это не очень существенно. При некоторых оговорках, которые могут и не выполняться.
Поток не может быть "дорогим" - если для исполнения требуются определённые ресурсы, то придётся их потратить в любом случае.

Семантика асинхронного контекста сервлетов 3.0 позволяет контейнеру оптимизировать управление ресурсами. Реализованы эти оптимизации в конкретном контейнере и возможно ли их задействовать в конкретном сценарии - вопрос отдельный.

Асинхронный ввод-вывод в сервлетах 3.1 позволяет задействовать (и достаточно просто) оптимизации ввода-вывода не только на уровне контейнера, но и в прикладном коде. Будет с этого какой-то выигрыш - вопрос, опять-таки, отдельный.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831819
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovБудет с этого какой-то выигрыш - вопрос, опять-таки, отдельный.
если ты заметил, то ТС докопался до разницы между левой ногой и правой. Или между 3.1 и WebFlux
))
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831828
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovСемантика асинхронного контекста сервлетов 3.0 позволяет контейнеру оптимизировать управление ресурсами. Реализованы эти оптимизации в конкретном контейнере и возможно ли их задействовать в конкретном сценарии - вопрос отдельный.

Асинхронный ввод-вывод в сервлетах 3.1 позволяет задействовать (и достаточно просто) оптимизации ввода-вывода не только на уровне контейнера, но и в прикладном коде. Будет с этого какой-то выигрыш - вопрос, опять-таки, отдельный.

Хотелось бы побольше конкретики
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831829
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверинquestioner, чето был уверен, что все таки с rxjava они, оказалось да..Reactor у них свой. Просто они черпали идеи из rxjava - где-то читал, потому и осело в голове.


авторЯ вот это не совсем понял. Мне кажется это релевантно для медленного коннекшена или медленного клиента, который медленно шлёт или принимает. Какие ещё могут быть точки торможения я не представляю. То как там NIO будет работать с вводом выводом это уже не так интересно. Меня вполне удовлетворит абстракция, что она это сделает эффективно.

не понял, если честно ;)
вот ещё по этому поводу что пишут: https://stackoverflow.com/a/40231294/2674303
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39831846
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинтак плюсов в использовании servlet 3.1 нет?Если видосики не стримить, то в текущей реализации/инфраструктуре как-то никаких преимуществ не видно - оно же определяет только общение с клиентом, а не весь стэк (медленный клиент - это страшилка из начала 2000-х, когда P4 с гигабайтом памяти считалось приличным железом, сейчас же мощности совсем другие, да и жава голой жопой в интернеты обычно не торчит: либо intranet, либо через балансировщик/reverse-proxy)
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832131
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832154
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Ссылка требует регистрации.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832155
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, у меня не требует, язх.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832159
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Открыл в режиме инкогнито - работает. Наверно куки влияют.
Более 3х раз сайт читать не дает))))
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832164
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ПанфиловОзверинтак плюсов в использовании servlet 3.1 нет?Если видосики не стримить, то в текущей реализации/инфраструктуре как-то никаких преимуществ не видно - оно же определяет только общение с клиентом, а не весь стэк (медленный клиент - это страшилка из начала 2000-х, когда P4 с гигабайтом памяти считалось приличным железом, сейчас же мощности совсем другие, да и жава голой жопой в интернеты обычно не торчит: либо intranet, либо через балансировщик/reverse-proxy)

Как-то звучит странно. Особо никто про стриминг не пишет в описании servlet 3.1

Думается, что не идиоты это придумали и у них была мотивация делать то, что они сделали
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832167
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинМожно почитать некоторые тесты:
https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 опять микросервисы)
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832183
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинМожно почитать некоторые тесты:
https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 Написанное можно по разному читать. Для начала, ну вот есть там ограниченные ресурсы и возможность использовать async i/o, ну и используют. С другой стороны получается так: был прекрасный монолит с общением через память, заменили микросервисами с тормозным http, с апломбом что якобы монолит не масштабируется, как итог сторонний сервис умеет 4 тыщи запросов в секунду, а тормознутые микросервисы и до 2 тыщ не дотянули, зато масштабируется.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832201
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerКак-то звучит странно. Особо никто про стриминг не пишет в описании servlet 3.1

Думается, что не идиоты это придумали и у них была мотивация делать то, что они сделалиНе представляю как можно так тупить-то.... вот зачем вы приводите ссылки, цитаты и прочую ересь, если сами их не читаете?
questionerWhen using Servlet 3.0 async processing, the server can dispatch the request processing in a separate thread pool while the request is being processed by the application. However, when it comes to I/O, work always happens on a server thread and it is always blocking. This means that a "slow client" can monopolize a server thread, since the server is blocked while reading/writing to that client with a poor network connection.
Вопрос: сколько можно в сокет написать без блокировки?
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832207
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинМожно почитать некоторые тесты:
https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 Написанное можно по разному читать. Для начала, ну вот есть там ограниченные ресурсы и возможность использовать async i/o, ну и используют. С другой стороны получается так: был прекрасный монолит с общением через память, заменили микросервисами с тормозным http, с апломбом что якобы монолит не масштабируется, как итог сторонний сервис умеет 4 тыщи запросов в секунду, а тормознутые микросервисы и до 2 тыщ не дотянули, зато масштабируется.

читать можно как угодно, конечно. Но я эту фразу(точнее, потаеенный ее смысл) - совершенно не понял. Есть среды, где необходимо масштбаривание и где монолит не тянет. Если такие среды и задачи есть - к чему подобные комментарии?
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832218
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинНо я эту фразу(точнее, потаеенный ее смысл) - совершенно не понял.Выглядит это все несколько притянутым за уши: у чувака без какой-либо пре/пост-обработки throughput в два раза упал в сравнении с оригинальным сервисом, скорее всего если добавить еще авторизацию, то наскребется на порядок. Получается что сначала мы сами придумываем себе проблемы, а потом героически их решаем, при всем при этом за "банкет" платит заказчик: вместо того чтобы разогнать дебилов и взять нормальный хостинг, приходится ютиться на t2.micro и оплачивать время идиотов.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832222
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловОзверинНо я эту фразу(точнее, потаеенный ее смысл) - совершенно не понял.Выглядит это все несколько притянутым за уши: у чувака без какой-либо пре/пост-обработки throughput в два раза упал в сравнении с оригинальным сервисом, скорее всего если добавить еще авторизацию, то наскребется на порядок. Получается что сначала мы сами придумываем себе проблемы, а потом героически их решаем, при всем при этом за "банкет" платит заказчик: вместо того чтобы разогнать дебилов и взять нормальный хостинг, приходится ютиться на t2.micro и оплачивать время идиотов.

ну других более гениальных тестов я не нашел, а от вас слышу только про идиотов, воду, бесполезность микросеврисов и уши ;)
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832226
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Статья интересная, но я согласен с Андрей Панфиловым что аргумент с микросервисами притянут за уши.
Мы в сабже сравниваем сервлеты по классике и рактивное программирование библиотеку.
Без юз кейса общения микросервисов и побочных от этого эффектов.
...
Рейтинг: 0 / 0
Чем асинхронные сервлеты отличаются от Sping WebFlux
    #39832229
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озвериндругих более гениальных тестовза артистизм 5, за технику 3.
Вот такая оценка статьи к данному сабжу.
Можно пометить OFF/2.
А то что нет статей, это ожидаемо.
...
Рейтинг: 0 / 0
25 сообщений из 146, страница 3 из 6
Форумы / Java [игнор отключен] [закрыт для гостей] / Чем асинхронные сервлеты отличаются от Sping WebFlux
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]