Por favor dime si:
- ¡Node.js hará que nuestro sitio sea más rápido!
- Node.js consumirá menos recursos del servidor, ¡podemos ahorrar dinero!
- ¡Node.js nos hará más productivos!
- Node.js significa que podemos compartir el código JavaScript del lado del cliente y del servidor.
Para aclarar, estamos reescribiendo un servidor frontend, que hablará con nuestra aplicación Ruby on Rails existente como API. Mientras tanto, refactorizaremos nuestra aplicación Ruby on Rails en servicios.
Más detalles sobre la arquitectura existente:
- Memcached para el almacenamiento en caché de parciales HTML
- Redis para sesión y almacenamiento en caché de datos estructurados
- MySQL maestro único, esclavos múltiples
- Hay una tabla grande que acepta muchas escrituras (imagine una encuesta)
- De lo contrario, se lee principalmente.
- MongoDB para algunos metadatos
- Ruby on Rails 3.0
- nginx y unicornio
architecture
ruby-on-rails
node.js
rewrite
usuario88487
fuente
fuente
Respuestas:
La mayoría de las preguntas que usted hace no tienen respuesta sin contexto, y son más o menos discutibles dado que la gerencia ya ha tomado la decisión por usted ... a menos que esté preguntando '¿debería dejar de fumar y encontrar un nuevo trabajo ante todo este cambio? ?
Si lo vas a superar, te recomiendo que leas esto en esta publicación sobre el tema: Cómo sobrevivir a una reescritura desde cero sin perder la cordura .
Recientemente comencé a reescribir un poco de lógica de servidor en node.js. La razón principal es que actualmente está escrito en .NET y queremos migrar fuera de los entornos de MS en el futuro.
Mis experiencias hasta ahora han sido positivas, tendrás una curva de aprendizaje inicial con toda la capacidad de no bloquearla, pero una vez que pasas eso, es realmente divertido codificarlo ... ¡Lo sé, DIVERTIDO!
Sin embargo, tiene un lado oscuro, cada hombre y su perro que han realizado un desarrollo front-end con JavaScript, y eso sería todo desarrollador front-end, espero, se emociona un poco cuando mencionas que node.js es 'JavaScript del lado del servidor 'sin embargo, eso no significa que los desarrolladores front-end tendrán la experiencia necesaria para escribir buenas aplicaciones del lado del servidor.
Una cosa que debe tener en cuenta es que un error fatal derribará toda la aplicación debido a su naturaleza no roscada, por lo que las apuestas son un poco más altas y debe verificar y atrapar explícitamente todo.
Para aquellos que han hecho tanto al frente como al revés, y disfrutan de ambos, no tener que cambiar los contextos mentales de los idiomas del front-end al back-end es una verdadera ventaja que creo que en última instancia impulsará la productividad en nuestro equipo en el futuro.
fuente
Bueno, no creo que reescribir la aplicación fuera una buena idea a menos que tuviera un rendimiento deficiente. Para responder tu pregunta:
Node.js no es mágico. Su aplicación tiene una gran cantidad de usuarios, por lo que no hay forma de estar seguro de que la hará más rápida.
Bueno, sí, Node.js consume menos recursos del servidor. Entonces, no solo puede ahorrar dinero en recursos, sino que también puede hacer más con los existentes. Esto se debe principalmente a la naturaleza de un solo subproceso de Node.js. No hay gastos generales de subprocesos adicionales.
Nuevamente, Node.js no es mágico. Habiendo dicho eso, puede haber algo de verdad en eso. Node.js tiene una comunidad muy activa que ha creado cientos de módulos para cada tarea posible. Por lo tanto, es muy probable que la mayor parte del trabajo se haya realizado por usted. Solo necesitas unir las piezas.
Teóricamente sí. Como Node.js es JavaScript, puede compartir código entre el cliente y el servidor. Pero no sé exactamente qué es lo que se compartirá. No he escrito ningún código que sea reutilizable en un cliente. Las cosas que hacemos en el servidor generalmente no tienen nada que ver con el cliente. Más importante para mí es la falta de cambio de contexto. Me resulta más fácil codificar tanto en el cliente como en el servidor en un solo idioma.
Dado que Node.js es de un solo subproceso, a menos que esté configurado explícitamente para hacerlo, no puede aprovechar múltiples CPU .
Echa un vistazo a los comentarios también. Proporcionan una buena idea del funcionamiento de Node.js.
fuente