Cosa succede quando si raggiungono le richieste massime al secondo del loro framework?

2

Mi sono dilettato nel codice da molti anni ma sono sempre stati progetti personali. Non ho esperienza con molto traffico. Recentemente ho letto un "Ciao, Mondo". tutorial per Dropwizard e in fondo si dice "Bene, congratulazioni, hai un'applicazione Hello World pronta per la produzione (tranne per la mancanza di test) che è in grado di fare 30.000-50.000 richieste al secondo."

Sebbene quello che posso solo immaginare sia un buon problema da avere, che cosa devi iniziare a fare a quel punto? Se la mia applicazione è stata creata su Dropwizard, dovrei iniziare la migrazione a qualcosa di diverso, oppure è quella in cui avviene la distribuzione su più "nodi" e il bilanciamento del carico arriva?

    
posta scrapcode 28.03.2015 - 20:59
fonte

1 risposta

4

In genere, entra in gioco la scalabilità orizzontale (calcolo distribuito / nodi multipli e bilanciamento del carico). Ogni sistema avrà una sorta di limite superiore per la scalabilità verticale.

Una chiave fondamentale per la scalabilità orizzontale è la gestione dello stato. Desiderate progettare il vostro software in modo che le singole sessioni non richiedano affinità con un nodo specifico. Meno lavoro deve fare il bilanciamento del carico per mantenere l'utilizzo anche attraverso i nodi, meglio è. E se stai mettendo il carico della gestione dello stato su un server back-end (magari un database), devi essere consapevole che quella risorsa diventa un collo di bottiglia nonostante il bilanciamento del carico. Quindi, forse, si guarda alla federazione dei database o alla condivisione delle tabelle (preferisco usare un framework al posto del sharding manuale, per esempio, come si definiscono i criteri per la suddivisione delle chiavi? Come si adegua quando si scoprono che le ipotesi su la distribuzione delle chiavi era sbagliata?)

    
risposta data 28.03.2015 - 22:05
fonte

Leggi altre domande sui tag