Question

Je suis en train de créer une application de grille qui nécessite l'envoi de paquets logiciels qui encapsulent une classe vers les nœuds participants de ma grille.

La première idée que j'ai suggérée était de faire en sorte que les nœuds maîtres contactent chaque nœud (exécutant un service Windows) et envoient un assembly contenant une classe qui adhère à une interface commune avec un fichier .config contenant, ainsi, la configuration. informations.

Y a-t-il une meilleure façon de faire cela? Mis à part la discussion sur la question de savoir si cela devrait être une incitation ou une attraction, quel est le meilleur moyen d'obtenir ce qui constitue effectivement une mise à jour logicielle? Ce serait formidable si je pouvais utiliser quelque chose de similaire à un service WCF appelé par les nœuds clients, mais cela laisserait bien sûr le traitement réel sur le nœud maître, ce qui aurait pour effet de dissocier mon cluster.

Était-ce utile?

La solution

Vous pouvez envoyer les octets d'assemblage et les charger directement dans le moteur d'exécution. Cela fonctionne bien pour le code géré. Je ne suis pas au courant d'une meilleure façon de faire cela. Et oui, utilisez un modèle push:)

Autres conseils

Cela semble être une approche valable. C’est essentiellement ainsi que fonctionnent la plupart des modèles de plug-in .NET.

La seule autre approche à laquelle je puisse penser serait d'envoyer des fichiers de script dans les deux sens. Vous pouvez créer votre propre DSL personnalisé, mais je pense que ce serait exagéré. Utiliser quelque chose comme Iron Ruby ou Iron Python serait beaucoup plus simple et beaucoup plus puissant. Une autre idée serait d’envoyer des scripts PowerShell.

Je n’ai jamais essayé cela, mais il est également possible d’envoyer des fichiers C # ou VB, puis de les compiler lorsqu’ils doivent être exécutés. Cependant, je ne vois guère d’avantage à cela par rapport aux deux suggestions précédentes.

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