Muchas, muchas de las cosas que hace un servidor moderno implican tareas de bajo cómputo que deben esperar en E / S. El uso de un modelo asíncrono es más rápido y requiere menos recursos para manejar ese tipo de transacción.
Entré en mayor detalle en otra respuesta, [1] pero con async puedes manejar más transacciones por segundo, usando menos memoria, en el mismo hardware. A veces, hasta 100 veces más rendimiento en el mismo servidor. Si puede ejecutar tres servidores en lugar de 300, eso puede ahorrarle miles de dólares por mes.
Una empresa con la que trabajé utilizó servidores de escalado automático para manejar una carga que hubiera sido manejada cómodamente por un solo servidor, y sus costos excedieron los $ 10k / mes. Después de implementar mis sugerencias (que incluían un servidor asíncrono) sus costos fueron menos de una décima parte. Eso es suficiente para contratar a un ingeniero adicional. En los EE.UU.
- Cómo practicar el desarrollo web sin un amplio desarrollo frontend (enfóquese en el backend sin invertir semanas en el frontend)
- ¿Cuáles son los requisitos previos para el desarrollo de back-end?
- ¿Cómo aprender el desarrollo web front-end y back-end desde cero hasta el final? Cuánto tiempo tardará
- ¿Qué compañía está desarrollando la infraestructura GST para el gobierno, de modo que se realice toda la comparación de crédito de fondo?
- Cómo crear un sitio web hermoso como http://drewwilson.com/
Yo diría que async debería considerarse una mejor práctica para la lógica del servidor. Si tiene algo de cómputo intensivo, entonces su servidor asíncrono debe llenar una cola de trabajos con solicitudes y luego esperar los resultados directamente (porque en asíncrono, esperar un resultado de E / S es casi cero) o devolver un enlace de inmediato o token donde se guardarán los resultados.
Async es especialmente ventajoso si necesita una conexión a tiempo real a largo plazo con su cliente. Aún debe evitar las tareas intensivas de CPU, pero para eso están las colas de mensajes.
Notas al pie
[1] La respuesta de Tim Mensch a ¿Es cierto que el Nodo JS ayuda a reducir los costos del servidor en comparación con los servidores PHP y Java?