Статический веб-сервер: наименьшее возможное ожидание: низкая активность: узел JS по сравнению с обычными Java-потоками
Я понимаю Node JS, уже зная Java.
Задана задача написать веб-сервер, который обслуживает одну страницу загрузки каждую секунду. Это статические страницы. Однако иногда загрузка страницы состоит только из документа HTML, а изображения /css/js кэшируются в браузере... иногда существуют не кэшированные ресурсы, которые будут загружаться отдельно от HTML.
Узел JS использует управляемую событиями модель.
Java может использовать модель на основе событий или потоков.
Какая модель лучше в этом случае при попытке получить всего несколько миллисекунд ожидания.
Насколько лучше было бы использовать Node JS поверх Java, учитывая решение использовать модель, основанную на событиях.
1 ответ
Для описываемого сценария совершенно не имеет значения, является ли сервер синхронным на основе потоков или асинхронным на основе событий. Разница в основном актуальна при обслуживании очень большого количества одновременных запросов.
Основным фактором сокращения времени загрузки статических страниц является дизайн самих страниц, за которым следует настройка сетевого стека и протокола, например увеличение начального окна TCP в соответствии с практикой Google.