Tengo un servidor udp, es una parte central de mi proceso comercial. Para manejar las cargas que espero en el entorno de producción, probablemente necesitaré 2 o 3 instancias del servidor. El servidor está casi completamente sin estado, principalmente recopila datos y la capa superior sabe cómo manejar la cantidad mínima de datos obsoletos que pueden surgir de las instancias de múltiples servidores.
Mi pregunta es, ¿cómo puedo implementar el equilibrio de carga entre los servidores? Preferiría distribuir las solicitudes de la manera más uniforme posible entre los servidores. También me gustaría tener algo de fidelidad, es decir, si el cliente X fue enrutado al servidor y, entonces quiero que todas las solicitudes posteriores de X vayan al servidor Y, siempre que sea razonable y no sobrecargue Y.
Por cierto, es un sistema .NET ... ¿qué recomendarías?
el estado es interno dentro de los servidores, no una transacción de algún tipo. el estado son algunos datos que los servidores agregan a partir de los datos que reciben, y se puede extraer con un simple servicio web WCF. La aplicación se basa en UDP, y aunque no estoy de acuerdo con la decisión, es "Por encima de mi nivel de pago"
Actualmente estoy probando NLB de MS, funciona bien, hace la fidelidad fuera de la caja, pero genera ruido en toda la red ...
Tampoco hay DNS ... Ah, y es un protocolo completamente disfrazado.