lunes, 3 de junio de 2013

Primeros pasos con Node.JS (1 parte)

En mis próximas entradas en HispaBigData nos vamos a adentrar en el mundo de Node.js en una serie de artículos, explicando en que consiste, porque usarlo y explicaremos como crear nuestro servidor para servir paginas Web.

¿Qué es Node.js?

Node.js es un entorno de programación Javascript en el lado de la capa de servidor, esta basado en el motor de Javascript de Chrome (V8). Este entorno cambia la forma de trabajar, ya que esta diseñado en un modelo orientado a eventos, su meta es la creación de aplicaciones altamente escalables, permitiendo crear decenas de miles de conexiones simultaneas en mismo servidor, algo impensable en los entornos mas usados hoy en día como Apache + PHP o TOMCAT + JAVA.

¿Como puede Node.js conseguir ejecutar decenas de miles de peticiones simultaneas en un mismo servidor? Para contestar esta pregunta vamos a tomar como ejemplo el Servidor Web Apache, el cual crea un nuevo hilo por cada conexión cliente-servidor, éstos van consumiendo una cantidad de memoria y a medida que las peticiones van aumentando el rendimiento de nuestro servidor va disminuyendo, debido a que el proceso de creación de un nuevo hilo es bastante costoso, de esta forma ,si nuestro Portal web recibe miles de peticiones concurrentes, debemos balancear dichas peticiones entre diferentes servidores Apache aumentando el coste en infraestructura.
En una aplicación en Node.js solo corre un único hilo de ejecución, por cada conexión recibida, lanza un evento disparador dentro del motor de ejecución (V8), únicamente en el caso de que nuestra aplicación realizase una operación bloqueante, se crearía un nuevo hilo de ejecución, de esta forma podemos conseguir miles de conexiones concurrentes con menor consumo de memoria que en Apache.


Como instalar Node.JS en linux

Para realizar la instalación de Node, nos tenemos que asegurar que tenemos instalado python v2.4 o superior, una vez hecho esto vamos a proceder a descargar el binario desde portal web para linux, el cual ya incluye el motor de Javascript V8, y vamos a proceder a compilarlo e instalarlo, sed paciente ya que este proceso puede ser lento, dependiendo de las características del equipo donde lo estáis compilando.

wget http://nodejs.org/dist/v0.10.9/node-v0.10.9.tar.gz
tar -zxvf node-v0.10.9.tar.gz
cd node-v0.10.9
./configure
make
make install

Para acceder a la consola solo basta con escribir node y para salir de ella podemos hacerlo pulsando CTRL + d o pulsando dos veces CTRL +c

Ejemplo Node.js Hispabigdata

Veamos un ejemplo de como ejecutar un fichero javascript. Creamos el fichero ejemplo.js con el siguiente código;

var mensaje = "Ejemplo de fichero para HispaBigdata"
var fecha = new Date();
console.log(mensaje + " ejecutado el " + fecha.getDate() + " del " + fecha.getMonth()  + " de " + fecha.getFullYear());

Y lo ejecutaremos de la siguiente forma:

Ejecución de fichero javascript en node.js para HispaBigdata

Como veis nos muestra por consola el contenido de la variable mensaje y la fecha actual de nuestro sistema, esto es un ejemplo sencillo para comprobar que está funcionando correctamente.  Aunque en Node.js trae precompilado varios "módulos básicos" en el propio binario, existen multitud de módulos desarrollados por terceros que pueden ayudarnos a realizar bastantes tareas.

En el próximo articulo veremos como funciona NPM el gestor de paquetes de Nodej.js y realizaremos un ejemplo de como implementar un sencillo servidor Web.

No hay comentarios:

Publicar un comentario