Я много слышал и читал о серверном языке Javascript, т.е. Node.js, и видел много сравнений в пользу Node.
Я не понимаю, что делает его лучше или быстрее, или как это связано с чем-то таким зрелым, как Java-сервлеты.
Но сервлеты создаются на основе многопоточного языка программирования, а не Node.js. Тогда как node.js может быть быстрее?
Если предположить, что 1000 тыс. Пользователей запрашивают записи в базе данных, то Node.js не должен быть медленнее, чем сервлеты.
Также разве сервлеты не имеют большей безопасности по сравнению с Node.js?
javascript
java-ee
node.js
журнал N
источник
источник
Ответы:
Вы смешиваете яблоки и апельсины, вроде.
Сервлеты (или унаследованные от HttpServlet) позволяют получить доступ к параметрам HTTP-запроса и ответить чем-либо через (или поверх) существующей реализации HTTP-сервера.
Хотя в качестве языка используется Javascript, Node.js находится на более низком уровне. Это начинается с фактической реализации HTTP-сервера. Тем не менее, вы можете заняться более высокоуровневыми вещами, такими как веб-приложения.
Насчет многопоточности не нужно. Серверы Node.js не быстрее из-за многопоточности, они быстрее, потому что они не блокируют запросы ввода-вывода, поэтому они могут продолжать загружать их в очередь, занимаясь другими делами. Они работают только тогда, когда есть работа - они ее не ждут - и это, как оказалось, приводит к серьезному повышению производительности.
Что касается запросов к базе данных, то здесь речь идет скорее об ограничениях в модели базы данных и API, чем о клиенте.
Что касается безопасности - это действительно другая тема, и в конечном итоге она находится в руках любого разработчика, не так много в библиотеке.
источник