Pro
- Service Bus consente di pubblicare su TCP e HTTP che è fresco, e ti dà una maggiore disaccoppiamento.
- Service Bus è un database SQL in modo che il Disaster Recovery sia SEMPLICE più semplice e molto più economico da implementare.
Contro
- Service Bus è centralizzato, ed è federata MSMQ, quindi potenzialmente più scalabile. Sebbene sia possibile ridimensionare con più nodi in WSB.
- Prima di poter pubblicare è necessaria una connessione dal vivo al bus centrale. Quindi MSMQ essendo federato (su ogni macchina) lo rende più disponibile per i client.
Tuttavia, le persone utilizzano MSMQ come un negozio locale con il bus di servizio, quindi pubblica localmente, quindi trasferiscilo sul bus quando è disponibile una connessione.
Attualmente stiamo avendo una buona esperienza con Service Bus al posto di MSMQ.
+1, domanda interessante. Non so molto su Windows Service Bus, mi piacerebbe vedere un confronto dettagliato con MSMQ. Ho trovato questo (vedi i commenti sotto l'articolo): http://shanthuk.com/2012/11/05/windows-service-bus-vs-msmq/ Per quello che vale, ho usato con successo MSMQ nelle mie architetture molte volte e sicuramente lo consiglio: leggero, robusto, transazionale. Vedi http://stackoverflow.com/a/9077925/870604 – ken2k
Solo per aggiungere (dato che viene spesso trascurato), se si sta utilizzando Sql Server, considerare anche Service Broker, che è un sistema di messaggistica all'interno dell'infrastruttura del database. – Rikalous
Vi consiglio di utilizzare NServiceBus http://nservicebus.com/CodeFirstGettingStarted.aspx – wudzik