Attualmente sto lavorando a un progetto che prevede che le applicazioni client (desktop e android e web) comunichino con vari processi in esecuzione su uno o più server.
La mia domanda è: quanto dovrei pensare al bilanciamento del carico e simili?
Tutti i progetti su cui ho lavorato prima consistevano nella creazione di applicazioni per uso interno all'interno delle aziende, quindi il numero di connessioni era sempre molto basso (probabilmente non più di 50 alla volta).
Tuttavia nel mio tempo ho deciso di iniziare a creare un software di contabilità, solo perché. Quindi, mi sono ritrovato con un'applicazione desktop WPF e un sito Web ASP.NET MVC e un'app Android che si connettono a vari processi / dati in esecuzione sul mio server.
Sul server c'è un database SQL (MS), vari servizi WCF per la comunicazione da client a server e alcuni servizi che eseguono operazioni di pulizia.
Funziona bene quando sto testando e solo io sono connesso. Tuttavia non ho idea di come si ridimensionerà se alcune persone iniziano a connettersi contemporaneamente.
Non sono nemmeno sicuro se rilascerò il software, per non parlare di chiunque lo usi! Tuttavia, come parte di un esercizio di apprendimento, come dovrei sviluppare il sistema in modo che possa assumere un grande carico e non crash / ritardo.
Sono consapevole che questa potrebbe essere una domanda molto aperta e potrebbe essere soggettiva a molte cose, ma come ho detto non ho esperienza in questo reparto ed è qualcosa che mi piacerebbe imparare.