2010-07-28 53 views
20

¿Es Node.js más rápido y más escalable que Apache? ¿Hay alguna cifra de rendimiento para respaldar el rendimiento de Node.js para una aplicación web sobre Apache?¿Cómo funciona Node.js en comparación con Apache?

ACTUALIZACIÓN: Bueno, tal vez mi pregunta (arriba) es confusa porque estoy un poco confundido sobre cómo Node.js se encuentra dentro de una pila de web. ¿Bajo qué circunstancias debería considerar usar Node.js en lugar de una pila más tradicional como PHP, MySQL y Apache, o juega Node.js como parte de esta pila?

+5

¿Más rápido para * qué *? ¿Qué tipo de aplicación web va a servir? –

+0

Esta pregunta es esencialmente imposible de responder fuera del contexto de un caso de prueba específico. –

+2

Este artículo puede ser útil para responder a su pregunta: http://al3x.net/2010/07/27/node.html –

Respuesta

17

Node.js es un framework especialmente adecuado para escribir aplicaciones web de alto rendimiento sin tener que entender cómo implementar la simultaneidad en un nivel bajo. Es un marco para escribir aplicaciones de JavaScript en el lado del servidor utilizando IO no bloqueante: pasando las continuas a las llamadas IO en lugar de esperar los resultados. Node.js proporciona una API del sistema (acceso al sistema de archivos, acceso a la red, etc.) donde todas las llamadas API toman una continuación que el tiempo de ejecución ejecutará más tarde con el resultado, en lugar de bloquear y devolver el resultado al llamador original.

Puede usarlo solo, si lo desea. Pero es posible que desee un proxy inverso dedicado frente a Node.js: algo así como Apache, Nginx, LigHTTPD, etc. O, para agrupar una aplicación más grande, es posible que desee algo como HAProxy frente a múltiples servidores de aplicaciones Node.js en ejecución.

+0

@agnoster Gracias por tu comentario - He cambiado mi respuesta. – yfeldblum

+0

¡Gracias por tu respuesta! El único otro comentario que daría es que, por razones técnicas, si desea ejecutar un proxy inverso frente a Node.js, y está ejecutando socket.io, querrá omitir la mayoría de ellos para la comunicación websocket . – agnoster

+1

¿Cuál es el beneficio de un proxy inverso? ¿La funcionalidad del servidor de Node está destinada más a la prueba de la luz y al rendimiento/seguridad menos segura o es que otras cosas solo tienen características que la gente quiere que el servidor de nodos básico no tenga? –

7

Hay un reciente (28 de julio, publicado 30) Google Tech Talk about Node.js donde hay algunos números de rendimiento y donde también habla sobre la escala.