J'ai un serveur udp, c'est une partie centrale de mon processus métier. afin de gérer les charges que j'attends dans l'environnement de production, j'aurai probablement besoin de 2 ou 3 instances du serveur. Le serveur est presque entièrement sans état, il collecte principalement des données, et la couche au-dessus de lui sait comment gérer la quantité minimale de données périmées pouvant provenir des multiples instances de serveur.
Ma question est, comment puis-je implémenter l'équilibrage de charge entre les serveurs? Je préférerais répartir les demandes aussi uniformément que possible entre les serveurs. Je voudrais également avoir une certaine fidélité, je veux dire si le client X a été routé vers le serveur y, alors je veux que toutes les requêtes ultérieures de X soient envoyées au serveur Y, tant qu'il est raisonnable et ne surcharge pas Y.
Au fait, c'est un système .NET ... que recommanderiez-vous?
l'état est interne au sein des serveurs, pas une transaction quelconque. l'état est certaines données que les serveurs regroupent à partir des données qu'ils reçoivent, et est quaryable avec un simple WebService WCF. L'application est basée sur UDP, et bien que je ne sois pas d'accord avec la décision, son "Au-dessus de ma note de salaire"
J'essaie actuellement le NLB de MS, cela fonctionne bien, il fait la fidélité hors de la boîte, mais il génère du bruit sur l'ensemble du réseau ...
Pas de DNS aussi ... Oh et c'est un protocole complètement costumé.