Desarrollo de Aplicaciones

¿Qué es Node.js y para qué sirve?

Node.js es un entorno JavaScript que nos permite ejecutar en el servidor, de manera asíncrona, con una arquitectura orientada a eventos y basado en el motor V8 de Google. Es una plataforma que avanza muy rápidamente y cada vez está más presente en el mercado.

¿Qué es Node.js y para qué sirve?

¿Cómo funciona Node.js?

El motor V8 compila Javascript en código máquina nativo en vez de interpretarlo en el navegador, consiguiendo así una velocidad mucho más alta. Node es de código abierto y puede ejecutarse en Mac OS X, Windows y Linux.

Javascript del lado del servidor

Tradicionalmente Javascript se ha utilizado únicamente para tareas menores en el navegador, pero actualmente ya es un lenguaje de programación tan potente como cualquier otro. Además JavaScript dispone de un modelo de eventos excelente ideal para la programación asíncrona.

JavaScript es un lenguaje conocido por millones de programadores, así que la curva de aprendizaje de Node es reducida, ya que no suele ser necesario aprender un nuevo lenguaje.

Programación asíncrona

Además de la alta velocidad de ejecución, Node.js dispone del Bucle de Eventos (Event Loop), que permitirá gestionar enormes cantidades de clientes de forma asíncrona. Tradicionalmente para trabajar de forma asíncrona las aplicaciones se valían de la programación basada en hilos (programming threaded applications), pero esto supone la utilización (normalmente ineficaz) de un espacio de memoria que va escalando a medida que la cantidad de clientes conectados a nuestra aplicación aumenta.

Generalmente cada hilo supone la utilización de 2MB de memoria, lo que en un sistema de 8GB de RAM supone un máximo teórico de conexiones de 4.000 usuarios. Por lo tanto, si necesitamos gestionar grandes cantidades de conexiones tendremos que ampliar el número de servidores.

La solución de Node

Node.js resuelve este problema cambiando la manera de realizar las conexiones con el servidor. En vez de generar un nuevo hilo E/S para cada cliente, cada conexión dispara la ejecución de un evento dentro del proceso del motor de Node. De este modo, Node permite que un solo servidor que lo ejecute pueda soportar decenas de miles de conexiones.

¡Gracias a Node, LinkedIn pasó de utilizar 30 servidores a únicamente 3!

Comparte este artículo

Artículos Relacionados