Quiere elegir entre: Node.js Meteor.js Ratchet RabbitMQ para WebChat en tiempo real(Foro)
websocket (3)
Hice una investigación antes de hacer esta pregunta, pero no pude encontrar una respuesta concreta para mi situación.
Quiero crear WebChat con sincronización en tiempo real para DB en el servidor. (MySQL o MongoDB - todos están bien) Pero sobre la sincronización de datos hay algunas formas de hacerlo:
PHP + websockets by Ratchet y mi trabajo es solo para crear un protocolo por JSON para autenticación y mensajería. Muchos documentos, muchos tutoriales. (Sé que los websockets no funcionaron en IE, pero no importa)
node.js + socket.io: existe la misma solución tecnológica que 1. pero en un idioma diferente.
node.js + meteor.js (sockJS) - parece que los chicos hicieron todo el trabajo y no necesito agregar ninguna funcionalidad de protocolo, solo codificar la lógica. Pero ¿qué hay de carga alta? ¿Qué tal la documentación ... marco muy joven.
Tornado + TornadIO2 (socket.io) + RabbitMQ
¿Alguien puede comparar RabbitMQ con meteor.js? Por desempeño. ¿Alguien puede decir qué camino es mejor?
No sé sobre todos los marcos, así que si tengo mejores opciones que esas cuatro, por favor dígame :)
Por favor, dame tus opiniones. ¡Gracias!
Desafortunadamente, solo puedo hablar por los tres primeros. Mi experiencia con websockets en general (que incluye socket.io) ha sido deficiente, incluyendo desconexiones esporádicas y un sistema de conexión intrincado. Dicho esto, sin embargo, es muy poderoso y diverso. Con websockets puede ejecutar un servidor o un cliente en casi cualquier plataforma. Socket.io limita esto hasta cierto punto, pero en realidad es solo un subconjunto de websockets. Meteor sin embargo es un juego de pelota completamente diferente. Aunque al principio es confuso, me ha impresionado mucho lo fácil que es crear e implementar aplicaciones. Es potente y flexible. Dependiendo de qué tan complicado sea el WebChat, cualquiera de los dos sería una buena opción. Si estás buscando hacer algo más simple, me gustaría ir con socket.io. Para más complejos recomendaría meteoros.
Espero que esto ayude.
Para la sincronización del cliente web de datos en tiempo real, las soluciones que conozco son:
Recomiendo el servidor websocket basado en php : Ratchet . Lo uso, y este link está comparando los servidores webSocket entre Ratchet y SockJS .
Por lo tanto, si desea que Webchat necesite un mejor rendimiento y un buen poder de la CPU. Ratchet tiene buenas soluciones para manejar los mensajes entre el cliente y el servidor. Tiene mensajes de emisión y mensajes de envío especiales para un grupo de clientes. También tiene un buen control sobre los eventos del servidor. por ejemplo, la actualización de mysql de ZMQ Libarary.Ratchet y ZMQ están encima del proyecto Reactphp
También puede ver WebRTC (tecnología asociada con WebSockets) que es otro esfuerzo para mejorar las capacidades de comunicación de los navegadores web modernos. WebRTC es una tecnología de igual a igual para la Web. Las primeras aplicaciones para WebRTC son chat de video y voz en tiempo real. WebRTC ya es una tecnología nueva y atractiva para aplicaciones de medios, y hay muchas aplicaciones de ejemplo disponibles en línea que le permiten probar esto con video y audio a través de la Web. Por favor revisa este link