Pregunta

Estoy creando una aplicación de cuadrícula que requiere que envíe paquetes de software que envuelvan una clase a los nodos participantes dentro de mi cuadrícula.

La primera idea que se me ocurrió fue hacer que los nodos maestros contacten a cada nodo (ejecutando un servicio de Windows) y envíen un ensamblado que contenga una clase que se adhiera a una interfaz común junto con un archivo .config que contenga, bueno, configuración información.

¿Hay una mejor manera de hacer esto? Además de la discusión sobre si esto debería ser un empujón o un tirón, ¿cuál es la mejor manera de obtener lo que efectivamente es una actualización de software? Sería genial si pudiera usar algo similar a un servicio WCF llamado por los nodos del cliente, pero eso, por supuesto, dejaría el procesamiento real en el nodo maestro, lo que efectivamente desagruparía mi clúster.

¿Fue útil?

Solución

Puede enviar los bytes del ensamblado y cargarlos directamente en el tiempo de ejecución. Funciona bien para el código administrado. No conozco una mejor manera de hacer esto. Y sí, use un modelo push :)

Otros consejos

Esto parece un enfoque válido. Así es esencialmente cómo funcionan la mayoría de los modelos de complementos .NET

El único otro enfoque que se me ocurre sería enviar archivos de script de un lado a otro. Podrías hacer tu propio DSL personalizado, pero creo que sería excesivo. Usar algo como Iron Ruby o Iron Python sería mucho más simple y mucho más poderoso. Otra idea sería enviar scripts de PowerShell.

Nunca he intentado esto, pero también es posible enviar archivos C # o VB de un lado a otro y luego compilarlos cuando es necesario ejecutarlos. Sin embargo, veo pocas ventajas de esto sobre las dos sugerencias anteriores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top