php jquery node.js ape

php - Ajax Push Engine(APE) Vs Node.js



push js php (4)

Estoy considerando algunas opciones para enviar datos del servidor al cliente para mi aplicación web en tiempo real.

He implementado una aplicación basada en sondeo (cada cliente envía solicitudes http al servidor después de cada 30 segundos) que realmente no se amplía después de que hay 10 usuarios. Esta aplicación. está construido usando MySQL, PHP, HTML y jQuery.

Sugiera amablemente cuál sería mejor considerando los requisitos a continuación: APE Vs node.js

  1. Debería poder manejar al menos 400 conexiones simultáneas a la vez
  2. El servidor debe poder enviar datos a todos estos clientes.
  3. Los clientes estarían enviando datos entre ellos.

A pesar de que todo el mundo corre hacia node.js ahora mismo, hicimos una aplicación de chat basada en APE y estamos muy contentos con ella.

APE proporciona lo que está buscando "listo para usar" ya que es una combinación de JS del lado del servidor y un entorno de cliente APE_JSF que proporciona la funcionalidad (y más) que obtiene de socket.io.

En este proyecto manejamos ~ 9000 usuarios concurrentes con mensajes en tiempo real . Se coloca un servidor nginx delante de APE para proporcionar soporte para deflate / gzip

Esta configuración (sin nginx también) no tendrá problemas para satisfacer sus requisitos, incluso en una máquina "no tan alta".

Dado que puede enviar datos a "un canal" o un solo usuario, debería poder lograr exactamente lo que está buscando con APE, desde transmisiones hasta mensajes directos.


Le sugiero que eche un vistazo al Socket.IO . Es una solución completa para la inserción del servidor, que incluye tanto la biblioteca del lado del servidor (escrita en node.js) como la biblioteca del cliente JS que se realiza de forma de navegador cruzado. No veo ninguna razón para que usted implemente su propio código para hacer lo que ya está hecho, funcionando y probado.

El único caso que socket.IO no manejará es su tercera solicitud, pero eso es imposible de todos modos. Si lo entiendo correctamente, ¿desea que dos clientes se comuniquen sin la ayuda de un servidor de terceros? No puedes cambiar HTTP a P2P, al menos no ahora.

Si, por otra parte, pretendía comunicar a dos usuarios a través de su servidor (haciendo algo así como un chat privado de dos personas) que es totalmente factible usando socket.io.


No recomendaría simio para aplicaciones a gran escala, está bien para aplicaciones de chat, pero en lo que respecta al transporte masivo de datos, el navegador del cliente comienza a disminuir y aplastarse después de un tiempo.


Si está utilizando Apache dentro de su pila existente, entonces, como ya ha dicho, habrá problemas para escalar a sus usuarios, incluso si utiliza una encuesta larga en lugar de una continua. La solución podría ser utilizar un servidor web de alto rendimiento como nginx para manejar muchas conexiones simultáneas.

Por otro lado, node.js está hecho para este tipo de concurrencia de conexión y existen paquetes, como Socket.IO , que pueden hacer su vida del desarrollador mucho más fácil, ya que ofrece varios tipos de opciones de transporte con soluciones alternativas y otras funciones útiles.