Добрый день. Может немного глупый вопрос, но все же задам. Допустим, есть стандартная конфигурация Spring MVC приложения (как из примеров в интернете) с одним DispatcherServlet:
<web-app>
<display-name>My application</display-name>
<servlet>
<servlet-name>web</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>web</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
За ним есть один @Controller, и один @Service , в котором производится некая работа, которая занимает, допустим, 2 секунды. Как будет вести себя приложение, если одновременно к нему придет 10 одинаковых запросов? Все запросы будут обрабатываться последовательно? Или для каждого запроса будет создан отдельный экземпляр DispatcherServlet и контекст бинов? Спасибо.
Web-контейнер имеет пул потоков для обработки запросов. На каждый запрос из пула берётся поток и в нём запускается метод контроллера. По умолчанию все последующие вызовы из этого метода будут выполняться в том же потоке. Если запросов поступает больше, чем есть потоков в пуле, запросы встают в очередь и ждут освобождения одного из потоков. Для пользователя это выглядит как медленно отвечающий сайт. Если очередь переполняется, клиенты начинают получать ошибку 502. Поэтому тяжёлые задачи стоит запускать в отдельном пуле потоков или вовсе переложить на фоновый процесс. Первое в Spring очень легко делается - достаточно пометить тяжёлый метод аннотацияей @Async. А DispatcherServlet и контекст создаётся единожды - при запуске web-приложения, обычно в момент запуска сервера.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйстаНужно сделать выборку с бд при это название таблицы, откуда делается выборка, образуется исходя из префикса таблицы...
Есть две таблицы, они связаны между собой один ко многимТаблица client содержит первичный ключ ID, а таблица orders содержит внешний ключ ID_of_client
Какой тип данных выбрать при составлении таблицы MySQL, для того чтобы можно было сохранять в нее изображения?