He empezado a juguetear con Node.js servidor HTTP y realmente me gusta escribir server side Javascript, pero algo me mantiene de empezar a usar Node.js para mi aplicación web.
Entiendo el conjunto de e/S asincrónicas concepto, pero estoy un poco preocupado por el borde de los casos donde el código de procedimientos es muy CPU, tales como la manipulación de la imagen o de la clasificación de grandes conjuntos de datos.
Como yo lo entiendo, el servidor va a ser muy rápido para los simples solicitudes de página web, tales como la visualización de una lista de usuarios o ver un post en el blog. Sin embargo, si quiero escribir muy CPU de código (en la administración de back-end, por ejemplo) que genera gráficos o cambia el tamaño de miles de imágenes, la solicitud será muy lento (unos segundos). Puesto que este código no es asincrónico, cada una de las solicitudes que vienen con el servidor durante los pocos segundos se bloquea hasta que mi solicitud lenta que se hace.
Una sugerencia fue utilizar la Web de los Trabajadores de la CPU de las tareas. Sin embargo, me temo que la web de los trabajadores hará que sea difícil escribir código limpio, ya que funciona mediante la inclusión de un separadas archivo JS. ¿Qué pasa si la CPU de código se encuentra en el método de un objeto? Es una especie de chupa para escribir un archivo JS para cada método que es la CPU.
Otra sugerencia fue la de generar un proceso secundario, pero que hace el código es aún menos sostenible.
Sugerencias para superar esta (presunta) obstáculo? ¿Cómo se escribe limpia orientada a objetos con código Node.js asegurándose de que la CPU pesadas tareas son ejecutadas async?