2010-03-31 13 views
6

Dopo un sacco di letture nei libri e sul Web, ho notato suggerimenti di informazioni che WCF e MSMQ possono essere utilizzati per ottenere un throughput elevato. Le informazioni che ho visto menzionano l'utilizzo di più servizi WCF in una farm che legge da una singola coda MSMQ. Il problema è che ho trovato paragrafi qua e là che menzionano il fatto che è possibile eseguire un throughput elevato, ma non riesco a trovare un documento su come implementarlo. Quanto segue è un estratto da un articolo di MSDN.Bilanciamento del carico WCF e condivisione di un MSMQ remoto per un throughput elevato

il seguente paragrafo è da Best Practices per coda Comunicazione http://msdn.microsoft.com/en-us/library/ms731093.aspx Per ottenere un throughput più elevato e la disponibilità, utilizzare una fattoria di servizi WCF che leggono dalla coda. Ciò richiede che tutti questi servizi espongano lo stesso contratto sullo stesso endpoint. L'approccio farm funziona meglio per le applicazioni che hanno un alto tasso di produzione di messaggi perché consente a un numero di servizi di leggere tutti dalla stessa coda.

Questo è quello che sto cercando di risolvere. Ho un'applicazione intranet in cui un client invia una richiesta a un servizio WCF. Ma voglio la possibilità di bilanciare il carico dei servizi WCF su più server in una farm. Voglio anche che questi servizi WCF nella farm eseguano letture transazionali da un MSMQ remoto quando un articolo è disponibile nella coda. Se ciò è possibile, un problema che ho è che non capisco il processo di attivazione di WCF per recuperare i messaggi da una coda remota.

Se questo è possibile, qualcuno sa di articoli o webcast che spiegherebbero in dettaglio?

BarDev

+0

qualsiasi codice di esempio, per favore ?? – Kiquenet

risposta

4

Non so circa eventuali articoli, ma come una prova di concetto, ho corso più istanze di un'applicazione WCF esistente nei confronti di un MSMQ.

Quello che è successo è che se 10 messaggi erano già presenti nella coda, erano gestiti da una sola istanza wcf.

Tuttavia tutti i messaggi successivi che sono stati pubblicati sulla coda in cui sono stati suddivisi quasi equamente tra tutte le istanze WCF fornendo una soluzione di bilanciamento del carico abbastanza pulito.

Quello che dovete fare è quello di creare un unico servizio WCF in esecuzione nei confronti di un msmq, assicurarsi che il suo lavoro correttamente, e poi andare da lì eseguendo sempre più istanze del servizio WCF per vedere che cosa sta accadendo

Problemi correlati