.NET Remoting - Redirect message / Hôte de redondance
-
24-10-2019 - |
Question
Je suis en train d'accomplir une certaine forme de redirection de messages dans .NET Remoting. texte alt http://i47.tinypic.com/wlt4y9.jpg
Comme vous pouvez le voir dans l'image que je voudrais pour le client d'envoyer un message au fournisseur (qui est le seul URI que le client doit connaître), qui sera ensuite rediriger ce host1. Voici la partie la plus délicate; le fournisseur gardera une trace dont l'hôte est vivant (en exposant un registre / désinscription remoting méthode aux hôtes), autrement dit le fournisseur doit être en mesure de changer de façon dynamique URI qui devrait rediriger le message.
J'ai tenté de résoudre le problème en créant un hôte dans le fournisseur que le client envoie des messages, puis un client (dans le fournisseur) qui implémente un proxy personnalisé ( en héritant de RealProxy ) qui rediriger les messages vers l'hôte actuellement préféré. Cependant, je reviens au problème sur les URI changer dynamiquement et je reçois le sentiment que je manque juste un peu facile, mais essentiel, une partie qui permettra de résoudre ce problème sans le transformer en un gros monstre poilu.
Les conseils / astuces sera très appréciée!
La solution
Pour référence ultérieure, je prends une autre, simplifiée, approche à ce sujet. Le fournisseur sera supprimé et à la place du client essaiera d'accéder host1 directement. Dans le cas d'un SocketException, qui est ce qu'il obtiendra lorsque l'hôte ne répond pas, puis le mettre en quarantaine X minutes et essayez avec l'hôte suivant. Si tous les hôtes sont en baisse, re-jeter l'exception.