Suggerirei di stare lontano dalle soluzioni laminate a mano in quanto vi è un mucchio di cose un po 'difficili che devono essere ottenute correttamente - come il modo in cui le transazioni vengono gestite, come le eccezioni causano i rollback, come smettere di tornare indietro all'infinito (messaggi velenosi), come integrarsi con i flussi di lavoro a lungo termine in modo che i limiti di gestione dello stato siano allineati e altro ancora.
Probabilmente vorrai una sorta di infrastruttura di messaggistica duratura/transazionale, quindi non utilizzando MSMQ verrai lasciato con Service Broker sulla piattaforma Microsoft o qualche altra alternativa come ActiveMQ. MSMQ ha il vantaggio di essere già installato su tutte le macchine Windows, al contrario di Service Broker che non lo è.
In termini di scelta tra NServiceBus, Mass Transit e Rhino Service Bus, può essere definito come il gusto che preferisci, anche se NServiceBus è stato il più lungo ed è probabilmente il più stabile.
Nella nostra versione 3.1, stiamo introducendo NSB Studio - un set di strumenti di modellazione integrati di Visual Studio che consentono di modellare il sistema a un livello più alto di astrazione e di eseguire gran parte della configurazione e inizializzazione di NServiceBus per automaticamente Direi che questo punta davvero le scale a favore di NServiceBus.
Spero che questo aiuti.
Disclaimer: Sono l'autore di NServiceBus.
fonte
2009-10-23 19:17:42
Puoi approfondire "che tipo di gusto preferisci" significa? Quali sono alcune delle differenze più evidenti tra il tuo nServiceBus e le altre soluzioni (oltre ad essere le più vecchie e stabili)? – mwjackson
Rhino Service Bus è molto incentrato sul Castello. Se non sei familiare/a tuo agio con Castle come parte fondamentale dell'architettura dell'applicazione, potresti avere qualche difficoltà con esso. NServiceBus e Mass Transit o più container agnostici. NServiceBus viene fornito con un "application server" che gestisce l'hosting del codice e la modifica delle implementazioni dell'infrastruttura attiva (come in-memory, MSMQ e DB) durante la transizione del sistema da dev a test a prod. Inoltre è dotato di funzionalità di test dell'unità per la logica di gestione dei messaggi e processi di lunga durata. Non credo che MassTransit abbia questi. –
Cool, grazie Udi! – mwjackson