Estoy planeando crear una aplicación que obtendrá una gran cantidad de tráfico. (Por favor, no diga que no obtendré tráfico, esto es para una red interna, por lo que el tráfico estará allí. Solo trato de evitar el 'No obtendrá mucho tráfico, no se preocupe').¿Qué se necesita para hacer un sitio web que necesite escalar?
En cuanto a qué tipo de tráfico estoy esperando, los usuarios buscarán varias creadas dinámicamente (según los detalles de la cuenta de usuario). En esos sitios, el usuario puede enviar entradas de texto. Tanto cargar las páginas como manejar la entrada del usuario golpearán la base de datos. Las cargas obviamente serán leídas, pero la entrada de manejo requerirá las dos lecturas &. Las entradas también pueden afectar las vistas de otros usuarios. Si esto sucede, tendré que notificar a los otros usuarios para actualizar la página.
¿Qué tipo de cosas debo hacer para que no solo se cuelguen bajo la carga de una gran cantidad de usuarios?
¿Cuáles son los factores limitantes? ¿Bases de datos? E/S con front end?
Nunca antes había desarrollado una aplicación web seria y estoy buscando ayuda.
EDIT: Estaba considerando usar Erlang para el backend ya que lo he usado un poco y realmente me gustan todas las cosas de concurrencia. ¿Sería esta una opción viable o debería intentar algo más tradicional?
Consulte http://highscalability.com/ - artículos muy interesantes sobre exactamente su tema. Especialmente los casos y las explicaciones de la vida real (aunque escuetos) son difíciles de leer. –
Especifique el tipo de tráfico que espera tener. ¿Habrá grandes cargas/descargas de archivos? ¿Va a ser interactivo? ¿Será una de las principales aplicaciones en esa red? ¿O simplemente haciendo clic y viendo páginas estáticas varias veces al día? – stagas
Pertenece a ServerFault, creo. –