Para alta escala, lo más importante es poder agrupar varios servidores. Los canales de Django pueden hacer esto. No me preocuparía demasiado el rendimiento de los servidores individuales cuando esté comenzando.
Para facilitar la lectura, es ideal si puede usar un código de estilo síncrono en lugar del estilo de devolución de llamada, al menos para la lógica de su aplicación. Hay un par de formas de abordar esto:
Una es usar un lenguaje de programación que esté controlado por eventos pero que admita la codificación de estilo sincrónico (también conocido como co-rutinas, hilos verdes o fibras). Go, C # y Erlang funcionan de esta manera de forma nativa, y ahora también se muestra una capacidad similar en otros idiomas. Node.js siempre estuvo controlado por eventos, pero ahora tiene palabras clave async / wait. Python es opcionalmente impulsado por eventos, y últimamente admite palabras clave asíncronas / en espera con él.
- ¿Cuáles son los conceptos básicos de Java en los que debo centrarme para aprender el desarrollo de aplicaciones web?
- ¿Existe código fuente abierto para crear un botón de "pin" como pinterest desde pinterest?
- ¿Es una violación de derechos de autor si un sitio web de recursos de alto contenido de terceros se carga en un en mi sitio web?
- ¿Qué es importante para la experiencia del usuario y el diseño de aplicaciones / sitios web relacionados con la muerte?
- Ruby / Rails vs Python / Flask: ¿cuál es el mejor para crear una aplicación web de visualización de datos?
La otra forma es separar las preocupaciones asíncronas en un proceso / trabajador separado. Así es como funciona Django Channels. Maneja las partes asíncronas por usted, por lo que solo tiene que escribir código normal que no sea asincio para la lógica de su aplicación. Este es mi estilo arquitectónico preferido, y de hecho trabajo en un proyecto de código abierto llamado Pushpin que funciona de manera similar.
Con este tipo de separación de trabajadores asíncronos / sincronizados, he podido crear una variedad de aplicaciones en tiempo real utilizando el código de fondo normal de Django para la lógica. No necesita olvidar todo lo que sabe solo para la capacidad en tiempo real.