Ho un server udp, è una parte centrale nel mio processo aziendale. per gestire i carichi che mi aspetto nell'ambiente di produzione probabilmente avrò bisogno di 2 o 3 istanze del server. Il server è quasi interamente senza stato, raccoglie principalmente dati e il livello sopra di esso sa come gestire la quantità minima di dati non aggiornati che possono derivare dalle istanze del server multiplo.
La mia domanda è: come posso implementare il bilanciamento del carico tra i server? Preferirei distribuire le richieste nel modo più uniforme possibile tra i server. Vorrei anche avere una certa fedeltà, intendo se il client X è stato instradato al server y, quindi desidero che tutte le successive richieste di X passino al server Y, purché sia ragionevole e non sovraccarichi Y.
A proposito, è un sistema .NET ... cosa consiglieresti?
lo stato è interno ai server, non una transazione di qualche tipo. lo stato sono alcuni dati che i server aggregano dai dati che ricevono ed è eseguibile una query con un semplice servizio Web WCF. L'applicazione si basa su UDP e, sebbene non sia d'accordo con la decisione, è "Above my pay grade"
Attualmente sto provando il bilanciamento del carico di massa di MS, funziona bene, fa la fedeltà fuori dalla scatola, ma genera rumore su tutta la rete ...
Inoltre nessun DNS ... Oh ed è un protocollo completamente in costume.