Ho in programma di creare un'applicazione che otterrà una grande quantità di traffico. (Si prega di non dire che non otterrò traffico, questo è per una rete interna, quindi il traffico sarà lì. Cerchiamo solo di evitare il 'Non riuscirai a ottenere tanto traffico, non ti preoccupare per questo.)Cosa deve fare un sito web che deve essere scalato?
Per quanto riguarda il tipo di traffico che mi aspetto, gli utenti potranno sfogliare varie creazioni dinamiche (in base ai dettagli dell'account utente). Su quei siti l'utente può inviare input di testo. Sia il caricamento delle pagine che la gestione dell'input dell'utente colpiranno il database. I carichi saranno ovviamente letti, ma l'input di gestione richiederà entrambe le letture delle scritture &. Gli input possono anche influenzare le visualizzazioni degli altri utenti. Se ciò accade, dovrò notificare agli altri utenti di aggiornare la pagina.
Che tipo di cose devo fare in modo che non si blocchi semplicemente sotto il carico di una grande quantità di utenti?
ciò che diventa fattori limitanti? Roba di database? I/O con front end?
Non ho mai sviluppato un'app web seria e ho bisogno di aiuto.
EDIT: Stavo pensando di usare Erlang per il backend dato che l'ho usato un po 'e mi piace molto tutto il materiale della concorrenza. Sarebbe una scelta valida o dovrei provare qualcosa di più tradizionale?
Vedere http://highscalability.com/ - articoli molto interessanti su esattamente il tuo argomento. Soprattutto i casi di vita reale e le spiegazioni (anche se concise) sono da leggere. –
Si prega di approfondire il tipo di traffico che ci si aspetta di avere. Ci saranno grandi upload/download di file? Sarà interattivo? Sarà una delle app principali in quella rete? O semplicemente facendo clic e visualizzando le pagine statiche poche volte al giorno? – stagas
Appartiene a ServerFault, methinks. –