Come autore originale di NServiceBus, probabilmente sono un po 'di parte nei confronti della mia tecnologia, ma cercherò di mantenerlo il più equilibrato possibile.
Supporto per il trasporto
Sia NServiceBus che MassTransit supportano RabbitMQ e Azure Service Bus , ma NServiceBus supporta anche:
Sul tema di RabbitMQ
Si potrebbe sostenere che NServiceBus ha un supporto più forte per RabbitMQ, ad esempio nella sua funzionalità di consegna ritardata mentre Mass Transit afferma che il loro "plug-in è ancora considerato sperimentale. È supportato da MassTransit, ma non possiamo garantire nient'altro che il plug-in si garantisce. "
Lavoriamo anche a stretto contatto con il team RabbitMQ, contribuendo a .net SDK a vantaggio dell'intero ecosistema.
Quando si tratta di Azure Service Bus
Il livello di collaborazione che abbiamo con il team del bus di servizio di Azure è ancora più alto, con oltre 70 PR nel loro SDK .net core .
Quando si utilizza NServiceBus, si beneficia di tutta la profondità di tale conoscenza.
Strumenti
Questa è la differenza più grande.
Una volta che hai costruito un sistema sostanziale, avere visibilità su come tutte le diverse parti in movimento parlano tra loro diventa davvero importante. MassTransit non ha molto in quest'area oltre a una piccola integrazione tramite un'origine diagnostica con strumenti di terze parti come Application Insights o Open Trace.
La piattaforma di servizi attorno a NServiceBus va un po 'più in là, dandoti la possibilità di vedere i diagrammi di sequenza su tutti gli endpoint con ServiceInsight :
Puoi anche ottenere la visualizzazione logica di tutti i tuoi endpoint e messaggi:
In sostanza, ottieni una documentazione vivente dell'architettura del tuo sistema.
Gestione e monitoraggio
Questa è un'altra area in cui MassTransit non ha molto. Quando un sistema di terze parti con cui ti stai integrando diventa non disponibile e un gruppo di messaggi nel tuo sistema finisce nella coda degli errori, l'unica soluzione che MassTransit ha per te per spostare manualmente quei messaggi in un secondo momento utilizzando il plug-in RabbitMQ Shovel .
La piattaforma di servizi intorno a NServiceBus include il monitoraggio di quella coda di errore, strumenti grafici per vedere quali erano le cause di quegli errori, nonché la possibilità di riprodurre gruppi di quei messaggi non riusciti e vedere che sono stati effettivamente elaborati con successo tutto in una semplice app web chiamato ServicePulse .
C'è anche la visualizzazione di controlli di integrità che vengono eseguiti periodicamente che possono fornire avvisi precoci di problemi prima che i messaggi inizino a non funzionare.
E infine, c'è il monitoraggio delle prestazioni disponibile nella piattaforma:
Ottieni davvero il pacchetto completo quando si tratta di supporto alla produzione.
Supporto a lungo termine e compatibilità con le versioni precedenti
Mentre le persone di Mass Transit sono sempre state estremamente brave nell'aiutare chiunque abbia domande al riguardo su Gitter o sul loro gruppo Google , non credo che forniscano correzioni di bug sulle versioni precedenti. Quando i tuoi sistemi di produzione sono in circolazione da un paio d'anni e non puoi semplicemente aggiornare tutto tutto il tempo, inizia a essere importante.
Con NServiceBus il supporto include :
- 2+ anni per ogni versione principale
- Altri 2 anni di supporto esteso
- Tempi di risposta garantiti sulle criticità
- Disponibilità 24x7
Consulenza e formazione
Da una prospettiva offline, ci sono corsi pubblici disponibili in tutto il mondo su NServiceBus così come molti consulenti che possono essere portati in loco per avviare un progetto o per assistere in caso di problemi. Ho sentito da diverse aziende che hanno deciso di passare da MassTransit a NServiceBus perché non potevano ottenere qualcuno sul posto quando ne avevano bisogno.
Licenze
Ciò che alcune persone ancora non sanno di NServiceBus è che è GRATUITO per uso personale e startup .
Quando si tratta di uso commerciale , i modelli di licenza intorno a NServiceBus sono molto flessibili, come indica l'ampio spettro di clienti, e possono essere ben giustificati dalla direzione. Ovviamente, con MassTransit, la licenza è gratuita.
Spero che questo aiuti in qualche modo.