Dal punto di vista la semplicità, l'/ modo più semplice e veloce per realizzare quello che stai cercando potrebbe essere quella di 'round robin' il cluster in modo che per ogni richiesta, viene selezionata una macchina (da un cluster servizio di gestione o alcuni di questi) per elaborare una richiesta. Le richieste effettive del client non vanno direttamente alla macchina che la gestisce; puntano invece a un singolo endpoint, che funge da proxy per distribuire le richieste in entrata alle macchine in base alla disponibilità e al carico. Per citare il collegamento sottoindicato,
Bilanciamento carico di rete è un modo per configurare un pool di macchine in modo che a turno rispondano alle richieste. È più comunemente visto implementato nelle server farm: macchine configurate in modo identico che distribuiscono il carico per un sito Web o una farm di Terminal Server. Si potrebbe anche usarlo per una farm firewall (ISA), punti di accesso VPN, in realtà, ogni volta che si ha traffico TCP/IP che è diventato troppo carico per una singola macchina, ma si desidera comunque che appaia come una singola macchina per scopi di accesso.
Per quanto riguarda l'applicazione che è "attiva", tale requisito non tiene conto di questa equazione in quanto "attiva" o "passiva", l'applicazione effettua comunque una richiesta ai server.
Esistono servizi di bilanciamento del carico commerciale per servire le richieste in stile HTTP, quindi potrebbe essere utile esaminarlo, ma con le funzionalità di bilanciamento del carico di W2k8, è possibile che sia meglio sfruttarle.
Per ulteriori informazioni su come configurarlo in Win2k8, vedere l'articolo this.
this article è molto più tecnico e si concentra sull'utilizzo di Bilanciamento carico di rete con Exchange, ma i principi dovrebbero ancora essere applicati alla situazione.
see here per un altro dettagliato walk-through di installazione e configurazione NLB.
In caso contrario, si può essere ben serviti da ricerca/pubblicazione su ServerFault, dal momento che il codice dell'applicazione non è (e non dovrebbe essere) strettamente consapevole del fatto che il Bilanciamento del carico di rete esiste anche.
MODIFICA: aggiunto un altro link.
EDIT (il 2 °): L'OP ha corretto la mia conclusione errata nel concetto "attivo" e "passivo".La mia risposta è molto simile alla mia risposta originale, salvo che il servizio 'attivo' (che, dato che stai usando WCF, potrebbe facilmente essere un servizio di Windows) potrebbe essere diviso in due parti: la porzione di elaborazione effettiva e la porzione di gestione. La parte di gestione verrebbe eseguita su un singolo server e fungerà da bilanciamento del carico round robin per gli altri server che eseguono l'elaborazione effettiva. È leggermente più complicato rispetto allo scenario originale, ma credo che fornirebbe una buona dose di flessibilità oltre a offrire una netta separazione tra logica di elaborazione e gestione.
up-vote b/c questo è un buon schema da seguire, tuttavia ritengo che la risposta non sia del tutto applicabile all'OP poiché sta esaminando le opzioni di disponibilità specifiche per NLB e clustering, non per enterprise arch. –
dare un'occhiata al servizio Amazon Simple Queue, è possibile utilizzare un'implementazione simile (o addirittura acquistare il loro servizio). – dwery