Клиентский интерфейс браузера - ждать или опросить? - PullRequest
0 голосов
/ 23 февраля 2020

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

Клиент из браузера делает вызов, который будет обрабатываться в течение длительного времени - скажем, 1-3 минуты (мы вызываем внешние службы во время обработки они могут быть асинхронными c et c)

Что лучше - заставить HTTP-вызов браузера ждать все это время или сразу же вернуться к ответу, и браузер выполнит опрос? Может быть, websocket?

Будет ли ответ повлиять на то, какой тип фреймворка мы должны использовать на стороне сервера - старый добрый Spring MVC или что-то реактивное, например Spring Flux или Vert.x?

1 Ответ

1 голос
/ 24 февраля 2020

Вопрос очень широкий, но я постараюсь в ближайшее время ответить на него.

Если ваш запрос, как вы говорите, длится 1-3 минуты, вам гораздо лучше с опросом , В противном случае вам придется увеличить время ожидания HTTP. WebSockets также является опцией, но в основном это зависит от количества клиентов, с которыми вы имеете дело, и от количества экземпляров службы, которые вы готовы иметь.

Не имеет большого значения, что вы используете на сервере. Для краткосрочных запросов что-то вроде Vert.x было бы определенно лучше, но если у вас есть эти длинные 1-метровые запросы, вы все равно будете использовать рабочие вершины, что означает ту же старую модель пула потоков.

...