¿Me beneficiaría cambiar de PHP a Node.js (en contexto) [cerrado]

8

La situación: estamos a punto de implementar lo que es esencialmente un servicio de registro. Como somos bastante pesados ​​en PHP, la implementación actual lo usa.

Tendremos unas 200 computadoras (la mayoría en la misma red) que enviarán, a través de HTTP POST, alrededor de 5000 solicitudes / día. Cada solicitud contiene aproximadamente 300 bytes de datos.

El extremo receptor está alojado en Amazon y es un formulario PHP muy simple con alguna validación simple que pone todo en una base de datos.

Ahora, recientemente me presentaron a Node.js y tengo curiosidad por saber si sería adecuado para el backend aquí.

De acuerdo, podría construir fácilmente algo para probar esto. Pero como no he comprendido completamente la metodología asincrónica, me gustaría que alguien con experiencia me lo explicara.

danneth
fuente
Esta es mi primera publicación en Programadores, por lo que no estoy seguro sobre el tipo de preguntas preferidas. Esto podría ser "downvotable", pero me arriesgo.
danneth
2
+1. La pregunta me parece bien: tanto constructiva como no demasiado localizada.
Arseni Mourzenko
10
¿Por qué está considerando otra plataforma, si su actual funciona? La curiosidad es genial, pero dada su configuración y necesidades, no creo que deba experimentar esto solo por el bien de la ciencia. No sé si PHP hace todo lo que quieres, pero si lo hace, no veo ningún punto en cambiar de plataforma. Node.js es excelente, y familiarizarse con él será extremadamente valioso, pero ¿tal vez debería considerar hacerlo en un proyecto más pequeño? ¿Algo más apropiado para la experimentación?
Yannis
@YannisRizos Como usted dice, creo que la configuración actual funcionará bien, incluso si / cuando crezcamos. Entonces, en cierto modo, es solo para ciencia y referencia para futuros proyectos. Probablemente no cambiaré nada, sino que jugaré con la idea de aumentar mi comprensión de Node. Básicamente, tome un ejemplo del mundo real y espere algunas respuestas esclarecedoras :)
danneth
1
@YannisRizos Siempre encuentro que una prueba rápida y simple es suficiente para decirme si vale la pena seguir algo o no, pero para ver realmente si es capaz, necesito un proyecto más grande para trabajar, y no hay nada mejor que una reescritura (para propósitos de prueba) de una configuración existente. El mayor beneficio es que puede ver si funciona exactamente como antes, y también puede usarlo para comparar directamente el rendimiento.
gbjbaanb

Respuestas:

11

Tendremos unas 200 computadoras (la mayoría en la misma red) que enviarán, a través de HTTP POST, alrededor de 5000 solicitudes / día. Cada solicitud contiene aproximadamente 300 bytes de datos.

Eso es alrededor de 10 req / s. Entonces está claro que no necesita cambiar .

¿Beneficios reales de cambiar (además de obtener una experiencia valiosa)? Bueno, como dijiste, estás alojando en Amazon. Con node.js tendrás menos carga, lo que significa que incluso podrías usar una micro instancia para ese tipo de carga, ahorrándote algo de dinero. Además, al ser un marco asincrónico, puede reducir la latencia, por ejemplo, enviando la respuesta antes de guardarla en la base de datos.

vartec
fuente
7

Si usted y su equipo tienen buena experiencia con PHP y es lo suficientemente simple de implementar, me quedaría con eso. Si aumenta la cantidad de tráfico y la concurrencia es un problema, entonces puede valer la pena familiarizarse con el nodo (¡además, siempre es divertido aprender un nuevo idioma!).

El otro beneficio del nodo es; Es rapido .

Pero nuevamente en este escenario, no puedo imaginar que algún PHP bien escrito tenga dificultades para manejar la carga.

Awalias
fuente
La carga probablemente no será un problema en este caso, más aún en un próximo proyecto propuesto. El objetivo de este experimento (como pensamiento y desarrollo potencial) es comprender cómo y cuándo será beneficiosa la concurrencia
danneth
Además, si realmente necesita velocidad y escalabilidad, consideraría mirar vert.x
K ..
0

Utilicé node.js para mi tesis de licenciatura y fue una experiencia muy agradable. Además de eso, se usó junto con una aplicación php para poder comparar ambas tecnologías.

Si tiene suficiente tiempo en sus manos (no demasiado si está familiarizado con JavaScript), entonces también podría probarlo. De esa manera, sabrá si implementarlo en el próximo proyecto que puede requerir más concurrencia.

Awemo
fuente
0

La mejor explicación de Node async es el libro Node Beginners . Es gratis (pero vale la pena los $ 10). Explicará cómo escribir sus servidores de nodo y está muy bien escrito.

gbjbaanb
fuente