¿Qué arquitecturas o información específica necesito saber para crear una gran aplicación web con tráfico alto o medio?

Para los sitios web dinámicos de alto tráfico, hay factores de escalabilidad que deberá abordar. El primer paso es la optimización, que es un proceso bastante complicado. Por ejemplo, para un mayor tráfico, querrá deshabilitar keepalive y configurar algún tipo de sistema de almacenamiento en caché como Amazon Cloudfront. Esto disminuirá la carga en el servidor. Se necesitan muchas más optimizaciones para un alto tráfico, pero tendrá que buscar en los documentos de django para obtener esta información.

El siguiente paso es el equilibrio de carga en los servidores web. Probablemente necesitará más de un servidor web. Para sincronizar correctamente los servidores y trabajar juntos, es probable que necesite usar sistemas de tareas / mensajería como Celery / RabbitMQ. Una vez que lo haga funcionar, puede implementar nuevos servidores según sea necesario si su tráfico crece.

La pieza final del rompecabezas es la base de datos, que siempre es difícil para la implementación de alto tráfico. Algunas personas han tenido suerte al usar Django con bases de datos NOSQL (hay una biblioteca llamada Django nonrel que ayuda a facilitar esto), pero la gran mayoría de los sitios web de Django se sirven desde bases de datos SQL. Si va a utilizar una base de datos SQL para un sitio de alto tráfico, el fragmentación de la base de datos será un problema crítico. Deberá programar el sitio para difundir los datos a múltiples servidores de bases de datos.

Manejar tráfico pesado es una tarea complicada, pero no dejes que te desanime. Comience a construir su aplicación en Django, y cuando esté más cerca de completarse y esté listo para implementarla, puede comenzar a ver estas cosas que debe hacer para manejar la carga. Incluso recomendaría que contrate a un consultor experimentado para que lo ayude a prepararse para el lanzamiento, pero solo después de que haya desarrollado la mayor parte del sitio.

Gracias. Tu respuesta fue muy útil.

More Interesting

Después de SQL, ¿qué debo aprender a continuación para poder crear un software básico por mi cuenta?

Me gustaría obtener un título en enfermería con especialización en ingeniería de software. ¿Es esta una buena opción o debería cambiar mi menor?

¿Cuáles son los conceptos que necesito cubrir antes de ir a una prueba de selección para un puesto de ingeniero de software?

¿Cuáles son las mejores grandes empresas de tecnología y nuevas empresas en etapa avanzada para ingenieros de software en Nueva York?

¿Aprender nuevos idiomas realmente ayuda a los programadores a crecer? ¿O es solo otro mito?

¿Cuánto valora Amazon a sus ingenieros de control de calidad?

Como ingeniero eléctrico, ¿cuál es la necesidad de estudiar lenguajes de software?

¿Cuál es la diferencia entre la ingeniería informática y la ingeniería de software, y cuál es mejor en términos de calidad del trabajo y salario?

¿Cuáles son las recomendaciones de cursos de secundaria para una eventual especialización de CS?

¿Deberían los programadores que escriben software malo que dañan a la gente ser ejecutados?

¿Por qué la gente hace preguntas de programación en Quora?

Teóricamente, ¿las pruebas de caja negra lograrán la misma cobertura que las pruebas de caja blanca? ¿Qué tan difícil podría ser?

¿Qué especificaciones de computadora son las mejores para los desarrolladores de software y cuáles son los costos?

¿Todas las aplicaciones contienen una sola línea mágica de código sin la cual la aplicación sería imposible de implementar correctamente?

¿Qué es el software definido X (donde X podría ser almacenamiento, centro de datos, infraestructura, radio, red, red móvil, protección, etc.)?