Ci sono dei vantaggi nell'utilizzare NServiceBus semplicemente usando il driver .net per RabbitMQ (supponendo che possiamo sostituire MSMQ con AMQP). NSB fornisce funzionalità aggiuntive o astrazioni che non sono disponibili direttamente in AMQP.Vantaggi specifici di NServiceBus over plain RabbitMQ
risposta
I principali vantaggi includono (ma non sono limitati a):
- si prende cura di serializzazione/deserializzazione dei messaggi.
- Fornisce un modello pulito per l'invio di messaggi w. gestori, invio polimorfico, organizzazione di conduttori in una tubazione, ecc.
- Gestisce l'unità di lavoro.
- Fornisce un'implementazione di saga ordinata.
- Fornisce un processo host che può essere sottoposto a debug F5 e installato come servizio Windows.
Queste sono cose che è necessario eseguire da soli se si utilizza direttamente il client RabbitMQ .NET, a meno che, ovviamente, non sia necessario alcuno di questi elementi.
Oh, e se si utilizza MSMQ, invece di RabbitMQ, è possibile ottenere tutte queste cose in un modello broker-meno :)
NSB utilizza spesso MSMQ come trasporto sottostante. Potrebbe usare RabbitMQ o qualche altro trasporto conforme a AMQP. NSB fornisce supporto per tutti i modelli di messaggistica di base, tra cui la comunicazione punto a punto, pub/sub ecc. La decisione di utilizzare un particolare trasporto sarebbe diversa da quella di scegliere NSB stesso. Ha molte funzionalità e puoi farti un'idea dal Documentation page.
ha un senso, esplorerà ulteriormente queste caratteristiche, grazie. – xrcsblue