Domanda

Sto creando un'applicazione grid che mi richiede di inviare pacchetti software che completano una classe ai nodi partecipanti all'interno della mia griglia.

La prima idea che mi è venuta in mente è stata quella di far contattare i nodi master a ciascun nodo (eseguendo un servizio Windows) e inviare un assembly contenente una classe che aderisce a un'interfaccia comune insieme a un file .config contenente, beh, la configurazione informazioni.

C'è un modo migliore per farlo? A parte la discussione sul fatto che si tratti di una spinta o una spinta, qual è il modo migliore per ottenere quello che è effettivamente un aggiornamento software? Sarebbe bello se potessi usare qualcosa di simile a un servizio WCF chiamato dai nodi client, ma ciò, ovviamente, lascerebbe la vera elaborazione sul nodo principale, che effettivamente districherebbe il mio cluster.

È stato utile?

Soluzione

È possibile inviare i byte dell'assembly e caricarli direttamente nel runtime. Funziona bene per il codice gestito. Non sono a conoscenza di un modo migliore per farlo. E sì, usa un modello push :)

Altri suggerimenti

Sembra un approccio valido. Questo è essenzialmente il modo in cui funziona la maggior parte dei modelli di plug-in .NET.

L'unico altro approccio che mi viene in mente sarebbe di inviare file di script avanti e indietro. Potresti creare il tuo DSL personalizzato, ma penso che sarebbe eccessivo. Usare qualcosa come Iron Ruby o Iron Python sarebbe molto più semplice, oltre che molto più potente. Un altro pensiero sarebbe quello di inviare script di PowerShell.

Non l'ho mai provato, ma è anche possibile inviare file C # o VB avanti e indietro e quindi compilarli quando devono essere eseguiti. Tuttavia, vedo poco vantaggio di questo rispetto ai due precedenti suggerimenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top