He escuchado mucho y leído sobre el lenguaje del lado del servidor Javascript, es decir, Node.js, y vi muchas comparaciones a favor de Node.
No entiendo qué lo hace mejor o más rápido, ni cómo se relaciona con algo tan maduro como los Servlets de Java.
Pero los Servlets están construidos sobre un lenguaje de programación multiproceso en lugar de Node.js. Entonces, ¿cómo puede node.js ser más rápido?
Si se supone que 1000K usuarios buscan registros de una base de datos, entonces Node.js debería ser más lento que Servlets.
Además, ¿los servlets no tienen mejor seguridad en comparación con Node.js?
javascript
java-ee
node.js
log N
fuente
fuente
Respuestas:
Estás mezclando manzanas y naranjas, más o menos.
Los servlets (o heredados de HttpServlet) le permiten acceder a los parámetros de solicitud HTTP y responder con algo, a través (o encima) de una implementación de servidor HTTP existente.
Aunque usa Javascript como lenguaje, Node.js está en un nivel más bajo que eso. Comienza desde la implementación real del servidor HTTP. Sin embargo, puede continuar haciendo más cosas de alto nivel, como aplicaciones web.
Sobre multihilo, no es necesario. Los servidores Node.js no son más rápidos debido a los subprocesos múltiples, son más rápidos porque no bloquean las solicitudes de E / S, por lo que pueden seguir bombeándolos en la cola, mientras hacen otras cosas. Solo funcionan cuando hay trabajo por hacer, no lo esperan, y eso provoca una mejora importante del rendimiento, como resultó.
En cuanto a las consultas de la base de datos, en realidad se trata más de restricciones en el modelo de base de datos y API que del cliente.
En cuanto a la seguridad, es realmente un tema diferente y, en última instancia, está en manos de cualquier desarrollador, no tanto en la biblioteca.
fuente