Va bene così lavoro su un'applicazione server che ha più metodi di comunicazione. Incluso ma non limitato a WCF, TCP e RESTFUL. Tutti condividono le informazioni con i clienti, ma di recente abbiamo riscontrato problemi dovuti a troppi clienti che accedono ai dati. Ciò provoca un ritardo e sebbene conserviamo nella cache il più possibile, vorremmo esaminare un modo per condividere il carico tra due server o forse più. Ancora più importante se troppi client si collegano alla stessa istanza che mette a dura prova alcune delle altre operazioni in esecuzione su di essa, questo causa un problema perché stiamo elaborando dati in tempo reale e le cose devono essere fatte in tempo.
La soluzione migliore che potremmo fare è creare un nuovo programma / servizio che può essere eseguito su un server diverso e consumare i dati dal primo server e quindi i client possono connettersi al nuovo IP di programma / servizio e ottenere i dati da Là. Anche se ci sarà qualche ritardo, ma in altri casi i dati dovranno essere condivisi in modo asincrono come i dati in tempo reale.
Mi chiedevo se esistesse un modo per eseguire la stessa istanza di un programma su più client? Non mi riferisco all'esecuzione dello stesso programma in 2 luoghi diversi, questo causerebbe problemi con i nostri dati, perché usiamo numeri casuali ecc. Durante la generazione e l'elaborazione dei dati. Quindi, se dovessimo eseguire 2 istanze dello stesso programma, ognuna genererebbe dati diversi. È forse possibile farlo correndo come una macchina virtuale? O c'è qualche libreria o funzionalità .NET che può essere utilizzata per farlo in modo più efficiente?
NOTA: come ho detto che l'istanza deve essere la stessa, 2 diverse istanze genererebbero dati diversi mentre i client hanno bisogno di ottenere gli stessi dati. E anche se al momento non utilizziamo SQL per replicare il DB, ci stiamo allontanando da questo e creando il nostro archivio dati basato su file poiché i nostri dati hanno una durata di vita molto limitata e i dati stessi sono molto limitati.
Qualsiasi suggerimento sarà utile su come procedere
Grazie in anticipo