| 
 | 
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  questionerешё раз повторю к Вам вопрос: Так просветите тогда уж раз уж Вы не согласны)Ваш вопрос на самом деле звучит так: я решил что с левой ноги вставать лучше, обоснуйте почему я неправ. Операционная система предоставляет две возможности, вокруг которых крутится вся оптимизация: Zero Copy (DMA и sendfile) - не копируем данные в user space, и Async I/O - не ждем ответа, а узнаем есть что новое для нас или нет. Если у вас приложение не умеет ни то, ни другое, то толку от асинхронной обработки http нет никакого, потому что совершенно нет никакой разницы в каком потоке выполнятьсяждать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 18:53 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов, так плюсов в использовании servlet 3.1 нет? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 19:58 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  questioner, чето был уверен, что все таки с rxjava они, оказалось да..Reactor у них свой. Просто они черпали идеи из rxjava - где-то читал, потому и осело в голове.  авторЯ вот это не совсем понял. Мне кажется это релевантно для медленного коннекшена или медленного клиента, который медленно шлёт или принимает. Какие ещё могут быть точки торможения я не представляю. То как там NIO будет работать с вводом выводом это уже не так интересно. Меня вполне удовлетворит абстракция, что она это сделает эффективно. не понял, если честно ;) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 20:02 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ОзверинАндрей Панфилов, так плюсов в использовании servlet 3.1 нет? в плане производительности ? Тащем та я как понял, это еще один API который позволяте использовать потоки контейнера вместо самодельного велосипета что вкупе с особоненостями tomcat можно получить неприятные эффекты. Из гуд ньюз то потоки управляемые контейнером, контейнер имеет доступ и может управлять их жизненным циклом. Ежели томкату скажут "все" то он сможем им передать этим потокам что "все". С самодельными потоками часто никто не заморачивается их привзякой к томкату. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 20:22 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверин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. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 20:50 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфиловquestionerешё раз повторю к Вам вопрос: Так просветите тогда уж раз уж Вы не согласны)Ваш вопрос на самом деле звучит так: я решил что с левой ноги вставать лучше, обоснуйте почему я неправ. Операционная система предоставляет две возможности, вокруг которых крутится вся оптимизация: Zero Copy (DMA и sendfile) - не копируем данные в user space, и Async I/O - не ждем ответа, а узнаем есть что новое для нас или нет. Если у вас приложение не умеет ни то, ни другое, то толку от асинхронной обработки http нет никакого, потому что совершенно нет никакой разницы в каком потоке выполнятьсяждать. Продолжайте мысль.... Вопрос вполне конкретный. Приведите пример при каком юзкейсе servlet 3.0 даст преимущество перед servlet 2.5 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 20:53 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверинплюсов в использовании servlet 3.1 нет?народ скорее кафкой масштабировать будет) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 21:03 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверин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 позволяет задействовать (и достаточно просто) оптимизации ввода-вывода не только на уровне контейнера, но и в прикладном коде. Будет с этого какой-то выигрыш - вопрос, опять-таки, отдельный. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 21:23 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Basil A. SidorovБудет с этого какой-то выигрыш - вопрос, опять-таки, отдельный. если ты заметил, то ТС докопался до разницы между левой ногой и правой. Или между 3.1 и WebFlux )) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 22:22 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Basil A. SidorovСемантика асинхронного контекста сервлетов 3.0 позволяет контейнеру оптимизировать управление ресурсами. Реализованы эти оптимизации в конкретном контейнере и возможно ли их задействовать в конкретном сценарии - вопрос отдельный. Асинхронный ввод-вывод в сервлетах 3.1 позволяет задействовать (и достаточно просто) оптимизации ввода-вывода не только на уровне контейнера, но и в прикладном коде. Будет с этого какой-то выигрыш - вопрос, опять-таки, отдельный. Хотелось бы побольше конкретики ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 23:33 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверинquestioner, чето был уверен, что все таки с rxjava они, оказалось да..Reactor у них свой. Просто они черпали идеи из rxjava - где-то читал, потому и осело в голове.  авторЯ вот это не совсем понял. Мне кажется это релевантно для медленного коннекшена или медленного клиента, который медленно шлёт или принимает. Какие ещё могут быть точки торможения я не представляю. То как там NIO будет работать с вводом выводом это уже не так интересно. Меня вполне удовлетворит абстракция, что она это сделает эффективно. не понял, если честно ;) вот ещё по этому поводу что пишут: https://stackoverflow.com/a/40231294/2674303 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2019, 23:35 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверинтак плюсов в использовании servlet 3.1 нет?Если видосики не стримить, то в текущей реализации/инфраструктуре как-то никаких преимуществ не видно - оно же определяет только общение с клиентом, а не весь стэк (медленный клиент - это страшилка из начала 2000-х, когда P4 с гигабайтом памяти считалось приличным железом, сейчас же мощности совсем другие, да и жава голой жопой в интернеты обычно не торчит: либо intranet, либо через балансировщик/reverse-proxy) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2019, 08:08 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Можно почитать некоторые тесты:  https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 09:54 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверин, Ссылка требует регистрации. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 10:37 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, у меня не требует, язх. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 10:38 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверин, Открыл в режиме инкогнито - работает. Наверно куки влияют. Более 3х раз сайт читать не дает)))) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 10:46 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей ПанфиловОзверинтак плюсов в использовании servlet 3.1 нет?Если видосики не стримить, то в текущей реализации/инфраструктуре как-то никаких преимуществ не видно - оно же определяет только общение с клиентом, а не весь стэк (медленный клиент - это страшилка из начала 2000-х, когда P4 с гигабайтом памяти считалось приличным железом, сейчас же мощности совсем другие, да и жава голой жопой в интернеты обычно не торчит: либо intranet, либо через балансировщик/reverse-proxy) Как-то звучит странно. Особо никто про стриминг не пишет в описании servlet 3.1 Думается, что не идиоты это придумали и у них была мотивация делать то, что они сделали ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 10:54 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ОзверинМожно почитать некоторые тесты:  https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 опять микросервисы) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 10:58 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ОзверинМожно почитать некоторые тесты:  https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 Написанное можно по разному читать. Для начала, ну вот есть там ограниченные ресурсы и возможность использовать async i/o, ну и используют. С другой стороны получается так: был прекрасный монолит с общением через память, заменили микросервисами с тормозным http, с апломбом что якобы монолит не масштабируется, как итог сторонний сервис умеет 4 тыщи запросов в секунду, а тормознутые микросервисы и до 2 тыщ не дотянули, зато масштабируется. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 11:34 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  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. Вопрос: сколько можно в сокет написать без блокировки? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 11:57 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей ПанфиловОзверинМожно почитать некоторые тесты:  https://medium.com/@filia.aleks/microservice-performance-battle-spring-mvc-vs-webflux-80d39fd81bf0 Написанное можно по разному читать. Для начала, ну вот есть там ограниченные ресурсы и возможность использовать async i/o, ну и используют. С другой стороны получается так: был прекрасный монолит с общением через память, заменили микросервисами с тормозным http, с апломбом что якобы монолит не масштабируется, как итог сторонний сервис умеет 4 тыщи запросов в секунду, а тормознутые микросервисы и до 2 тыщ не дотянули, зато масштабируется. читать можно как угодно, конечно. Но я эту фразу(точнее, потаеенный ее смысл) - совершенно не понял. Есть среды, где необходимо масштбаривание и где монолит не тянет. Если такие среды и задачи есть - к чему подобные комментарии? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 12:08 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ОзверинНо я эту фразу(точнее, потаеенный ее смысл)  - совершенно не понял.Выглядит это все несколько притянутым за уши: у чувака без какой-либо пре/пост-обработки throughput в два раза упал в сравнении с оригинальным сервисом, скорее всего если добавить еще авторизацию, то наскребется на порядок. Получается что сначала мы сами придумываем себе проблемы, а потом героически их решаем, при всем при этом за "банкет" платит заказчик: вместо того чтобы разогнать дебилов и взять нормальный хостинг, приходится ютиться на t2.micro и оплачивать время идиотов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 12:39 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей ПанфиловОзверинНо я эту фразу(точнее, потаеенный ее смысл)  - совершенно не понял.Выглядит это все несколько притянутым за уши: у чувака без какой-либо пре/пост-обработки throughput в два раза упал в сравнении с оригинальным сервисом, скорее всего если добавить еще авторизацию, то наскребется на порядок. Получается что сначала мы сами придумываем себе проблемы, а потом героически их решаем, при всем при этом за "банкет" платит заказчик: вместо того чтобы разогнать дебилов и взять нормальный хостинг, приходится ютиться на t2.micro и оплачивать время идиотов. ну других более гениальных тестов я не нашел, а от вас слышу только про идиотов, воду, бесполезность микросеврисов и уши ;) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 12:48 | 
  
  
  
   | 
||
| 
 
Чем асинхронные сервлеты отличаются от Sping WebFlux 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Озверин, Статья интересная, но я согласен с Андрей Панфиловым что аргумент с микросервисами притянут за уши. Мы в сабже сравниваем сервлеты по классике и рактивное программирование библиотеку. Без юз кейса общения микросервисов и побочных от этого эффектов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2019, 12:58 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=39832154&tid=2121217]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    55ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    61ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 230ms | 
| total: | 387ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.