2010-03-14 15 views
7

Ho notato importanti festival musicali (almeno in Australia) e altri eventi che hanno un picco nel traffico quando i biglietti sono in vendita hanno enormi problemi a mantenere i loro siti web in esecuzione bene. Ho visto alcune tecniche diverse utilizzate per provare a combattere questo come sessioni brevi e code virtuali, ma non sembrano avere molto effetto.Sito scalabile di ticketing/festival

Se dovessi progettare un sito Web per vendere un sacco di biglietti in un breve lasso di tempo, come gestiresti la scalabilità? Quali tecnologie e tecniche di programmazione useresti?

La mia esperienza è nello stack Microsoft, quindi le risposte in quell'area saranno molto utili per me, ma mi piacerebbe anche sentire come questo tipo di problema possa essere risolto su altre piattaforme.

+0

Con quale lingua (e)/piattaforma (e) lavori con? Senza ulteriori informazioni, a questa domanda non si può rispondere in modo soddisfacente. – Sampson

+1

Dal punto di vista applicativo, quelli ovvi sono il caching sul livello web, l'elaborazione degli ordini offline (asincrono) e le query SQL ottimizzate. Queste sono pratiche generali e non specifiche per il tuo scenario di "picco di traffico breve burst". – JoseK

risposta

3

Penso che il problema principale non sia "difficile" rendere scalabile tale sistema, è il 99% delle volte che questi siti non hanno molto traffico. Non è molto buono acquistare 50 server front-end e 10 server database se il 99% delle volte sono tutti inattivi.

Personalmente, userei qualcosa come Amazon EC2 o anche il nuovo servizio di Azure di Microsoft in modo che possano funzionare con capacità minima la maggior parte del tempo, per poi accelerare prima che un grande evento sia in vendita.

+0

queste soluzioni basate su cloud si ridimensionano automaticamente o generalmente si sceglie quando è necessaria la potenza extra? –

+0

Non so su Azure, ma so per Amazon è necessario avviare nuove istanze "manualmente". Lo metto tra virgolette perché forniscono un'API che potrebbe essere usata per costruire una soluzione automatica in aggiunta. –

Problemi correlati