Question

Je souhaite développer une infrastructure en cluster multi-serveurs qui fonctionnera de la même manière que les étapes ci-dessous pour le flux de messages.

À partir du client

  • Un message du serveur de passerelle
  • Le serveur de passerelle envoie un message ACK (UDP)
  • Le message est personnalisé, désérialisé du binaire en un objet via une fabrique
  • Le message est ensuite acheminé vers un serveur secondaire du cluster (basé sur la configuration) et envoie l'objet au serveur secondaire via WCF
  • Le message est traité sur le serveur secondaire.

À partir du serveur

  • Le serveur secondaire crée un message et l'envoie au serveur de passerelle
  • Le fichier binaire du serveur de passerelle sérialise le message
  • Le serveur de passerelle envoie le fichier binaire au client et attend un message ACK (UDP)

Les serveurs seront configurés via des fichiers .config pour pointer vers les services, soit localement dans la même application (la WCF sera initialisée), soit sur d’autres systèmes.

Quelqu'un a-t-il déjà travaillé pour créer ce type d'architecture et, dans l'affirmative, quels problèmes avez-vous rencontrés?

MODIFIER
Le système sera le côté serveur d’un protocole déjà existant, de sorte que tout protocole client à serveur est essentiellement intouchable, mais il inclut la gestion de l’état (le client envoie une session à chaque appel), le chiffrement, le routage du serveur, etc. protection des paquets.

Modifier
Quelqu'un peut-il même fournir un lien vers un projet open source utilisant la mise en cluster dans .Net?

Était-ce utile?

La solution

  

Modifier Quelqu'un peut-il même fournir un lien   à un projet open source qui utilise   clustering en .Net?

Vérifiez cet exemple d'application . Selon le site ...

  

Technologies démontrées   Conception à plusieurs niveaux orientée service avec   ASP.NET et WCF

     
      
  • Séparation nette de l'interface utilisateur, des services métier et de l'accès à la base de données
  •   
  • Conception et réglage pour la performance
  •   
  • Evolutif horizontalement via un clustering dynamique
  •   
  • Gestion de la configuration centralisée des nœuds de service en cluster
  •   

Autres conseils

Le maintien de l’état des sessions sur des transactions de longue durée peut devenir un obstacle majeur. Vous devrez vous assurer que votre solution d'équilibrage de charge est en mesure de prendre en compte ou d'accueillir une session démarrant sur un serveur et se terminant sur un autre. Cela peut être réalisé en partageant l'état via une source externe, telle qu'un cookie sur le navigateur / client ou une entrée sur un serveur de base de données commun. Alternativement, de nombreuses solutions d’équilibrage de charge matérielle utiliseront des "sessions persistantes". pour vous assurer que le client retourne toujours sur le même serveur (basé sur une adresse IP par exemple)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top