Como autor original de NServiceBus, probablemente estoy un poco inclinado hacia mi propia tecnología, pero intentaré mantener esto lo más equilibrado posible.
Soporte de transporte
Tanto NServiceBus como MassTransit son compatibles con RabbitMQ y Azure Service Bus , pero NServiceBus también admite:
Sobre el tema de RabbitMQ
Se podría argumentar que NServiceBus tiene un mayor soporte para RabbitMQ, por ejemplo, en su funcionalidad de entrega retrasada, mientras que Mass Transit afirma que su "complemento todavía se considera experimental. Es compatible con MassTransit, pero no podemos garantizar nada más que el complemento se garantiza a sí mismo ".
También trabajamos muy de cerca con el equipo de RabbitMQ, contribuyendo al .net SDK en beneficio de todo el ecosistema.
Cuando se trata de Azure Service Bus
El nivel de colaboración que tenemos con el equipo de Azure Service Bus es aún mayor, con más de 70 RP en su SDK principal de .net .
Cuando utiliza NServiceBus, se beneficia de la profundidad total de ese conocimiento.
Estampación
Ésta es la mayor diferencia.
Una vez que haya construido un sistema sustancial, tener visibilidad de cómo se comunican las diferentes partes móviles se vuelve realmente importante. MassTransit no tiene mucho en esta área más allá de una pequeña integración a través de una fuente de diagnóstico con herramientas de terceros como Application Insights o Open Trace.
La plataforma de servicio en torno a NServiceBus va un poco más allá y le brinda la capacidad de ver diagramas de secuencia en todos los puntos finales con ServiceInsight :
También puede obtener la vista lógica de todos sus puntos finales y mensajes:
En esencia, obtiene documentación viva de la arquitectura de su sistema.
Gestión y seguimiento
Esta es otra área en la que MassTransit no tiene mucho. Cuando un sistema de terceros con el que se está integrando deja de estar disponible y un montón de mensajes en su sistema terminan en la cola de errores, la única solución que MassTransit tiene para que usted mueva manualmente esos mensajes más tarde utilizando el complemento RabbitMQ Shovel .
La plataforma de servicio alrededor de NServiceBus incluye el monitoreo de esa cola de errores, herramientas gráficas para ver cuáles fueron las causas de esos errores, así como la capacidad de reproducir grupos de esos mensajes fallidos y ver que en realidad se procesaron con éxito, todo en una aplicación web simple. llamado ServicePulse .
También hay una visualización de comprobaciones de estado que se ejecutan periódicamente y que pueden proporcionar advertencias tempranas de problemas antes de que los mensajes comiencen a fallar.
Y finalmente, está el monitoreo de rendimiento disponible en la plataforma:
Realmente obtiene el paquete completo cuando se trata de soporte de producción.
Soporte a largo plazo y compatibilidad con versiones anteriores
Si bien la gente de Mass Transit siempre ha sido extremadamente buena para ayudar a cualquiera que tenga preguntas al respecto en Gitter o su Grupo de Google , no creo que proporcionen correcciones de errores en versiones anteriores. Cuando sus sistemas de producción han existido durante un par de años, y no puede simplemente actualizar todo todo el tiempo, eso comienza a ser importante.
Con NServiceBus, el soporte incluye :
- Más de 2 años para cada versión principal
- 2 años adicionales de soporte extendido
- Tiempos de respuesta garantizados en problemas críticos
- Disponibilidad 24x7
Consultoría y formación
Desde una perspectiva fuera de línea, hay cursos públicos disponibles en todo el mundo en NServiceBus, así como muchos consultores que se pueden llevar al sitio para iniciar un proyecto o ayudar en caso de problemas. Escuché de varias empresas que decidieron cambiar de MassTransit a NServiceBus porque no podían conseguir a alguien en el sitio cuando lo necesitaban.
Licencia
Lo que algunas personas aún no saben sobre NServiceBus es que es GRATIS para uso personal y para empresas emergentes .
Cuando se trata de uso comercial , los modelos de licencia en torno a NServiceBus son muy flexibles, como indica el amplio espectro de clientes, y pueden estar bien justificados para la administración. Por supuesto, con MassTransit, la licencia es gratuita.
Espero que eso ayude de algún modo.