Поддерживает ли REST API, определенный в Spring Boot, многопоточность автоматически - PullRequest
1 голос
/ 05 апреля 2019

Я хочу создать REST API при весенней загрузке, который может обрабатывать около 100TPS. Допустим, я создаю базовый API REST, используя пример приложения при весенней загрузке. Делает ли это автоматически обрабатывает многопоточность. Давайте рассмотрим код ниже.

@RequestMapping(method = RequestMethod.POST, value="findByPackageActivationId")
@ResponseBody
public JSONObject findByPackageActivationId(@RequestBody IncomingRestObject incomingRestObject) {
    //My work here
}

Ответы [ 4 ]

2 голосов
/ 05 апреля 2019

По умолчанию веб-приложения Spring Boot являются многопоточными и обрабатывают несколько запросов одновременно. Контроллер REST является многопоточным, так как DisptcherServlet обрабатывает несколько запросов от клиентов одновременно и обслуживает их с помощью соответствующих методов контроллера. Вы можете изменить любой поток по умолчанию. настройки (например, server.tomcat.max-threads). Для получения дополнительной информации см. Здесь: -

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc

0 голосов
/ 05 апреля 2019

Spring Framework предоставляет эти функции внутренне, это преимущества, которые Spring предоставляет по сравнению с базовым кодированием сервлетов, которое мы использовали в прежние времена. Это также обеспечивает способ управлять этим. Для Ex вы можете изменить лимит количества создаваемых потоков, используя server.tomcat.max-threads (Для tomcat).

Основные сведения о многопоточности с пружинной загрузкой см. https://www.e4developer.com/2018/03/30/introduction-to-concurrency-in-spring-boot/

0 голосов
/ 05 апреля 2019

Контроллер REST является многопоточным, так как DisptcherServlet обрабатывает несколько запросов от клиентов одновременно и обслуживает с использованием соответствующего метода контроллера

Вы можете масштабировать свое приложение в соответствии с вашими требованиями для достижения желаемой TPS

0 голосов
/ 05 апреля 2019

Для каждого запроса от клиента сервер создает новый поток и назначает этот запрос вновь созданному потоку.Вам не нужно обрабатывать это явно.

Также для вашего требования (100 потоков) вы можете настроить это на сервере.Вы можете сослаться на эту ссылку для конфигурации tomcat в качестве сервера по умолчанию для spri.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...