Ускорение работы приложений в веб-разработке с использованием Node.js
В течение последних нескольких лет в веб-разработке на серверной стороне чаще всего используется препроцессор гипертекста, скриптовый язык общего назначения PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») [1] в совокупности с веб-сервером Apache или Nginx. Однако данная кон-цепция имеет ряд особенностей: PHP-обработчик отделен от веб-сервера, скрипты и команды выполняются синхронно (т. е., например, при обращении к базе данных PHP- обработчик ожидает, пока база не вернет какой-либо результат или ошибку, и не обрабатывает другие запросы), возможность обрабатывать в один момент времени только один запрос, по завершению работы результат возвращается веб-серверу, а сам процесс перестает существовать, веб-сервер, в свою очередь, получая ответ, отправляет результат клиенту и закрывает соединение [2]. Все вышеуказанные особенности «пере-текают» в большую проблему - очень долгое время выполнения запросов в крупных проектах.
В 2009 году для решения данной проблемы была создана программная платформа, основанная на движке V8, Node.js, которая превращает JavaScript из узкоспеци-ализированного языка в язык общего назначения [1]. В концепции Node.js лежит событийно-ориентированное и асинхронное программирование с неблокирующим вво- дом/выводом.
В случае с Node.js сервер включает в себя и веб-сервер, и обработчик, находится в одном процессе и постоянно «висит» в памяти. Когда серверу требуется обратиться к базе данных в тот момент, когда выполняются другие запросы, сервер не «простаивает», тратя время впустую, а выполняет их. При получении сервером ответа от базы, он просто вернет результат клиенту.
ЛИТЕРАТУРА
ru.wikipedia.org/
habrahabr.ru/
УДК 004.923
Е.И.МАНАКИН, Е.А.КУХТИНА (Ивановский государственный политехнический университет)
база вернуть результат, язык общий назначение, основать движок превращать, движок превращать ализировать, проблема создать программный, платформа основать движок, программный платформа основать, превращать ализировать язык, создать программный платформа, ализировать язык язык, основать движок превращать ализировать, движок превращать ализировать язык, превращать ализировать язык язык, платформа основать движок превращать, программный платформа основать движок, проблема создать программный платформа, создать программный платформа основать, ализировать язык язык общий, язык язык общий назначение, лежать событийный ориентировать асинхронный,