Como o autor original de NServiceBus, provavelmente sou um pouco inclinado a minha própria tecnologia, mas tentarei manter isso o mais equilibrado possível.
Suporte de transporte
Ambos NServiceBus e MassTransit são compatíveis com RabbitMQ e Azure Service Bus , mas NServiceBus também suporta:
Sobre o tópico RabbitMQ
Pode-se argumentar que NServiceBus tem suporte mais forte para RabbitMQ - por exemplo, em sua funcionalidade de entrega atrasada enquanto o Mass Transit afirma que seu "plugin ainda é considerado experimental. É suportado por MassTransit, mas não podemos garantir nada mais do que o plugin garante-se. "
Também trabalhamos em estreita colaboração com a equipe RabbitMQ, contribuindo com o .net SDK para o benefício de todo o ecossistema.
Quando se trata de Azure Service Bus
O nível de colaboração que temos com a equipe do Azure Service Bus é ainda maior, com mais de 70 PRs para seu SDK principal .net .
Ao usar o NServiceBus, você se beneficia de toda a profundidade desse conhecimento.
Ferramental
Essa é a maior diferença.
Depois de construir um sistema substancial, ter visibilidade de como todas as diferentes partes móveis conversam entre si torna-se muito importante. O MassTransit não tem muito nesta área além de uma pequena integração por meio de uma fonte de diagnóstico com ferramentas de terceiros, como o Application Insights ou Open Trace.
A plataforma de serviço em torno do NServiceBus vai um pouco além, dando a você a capacidade de ver diagramas de sequência em todos os endpoints com ServiceInsight :
Você também pode obter a visão lógica de todos os seus endpoints e mensagens:
Em essência, você obtém documentação viva da arquitetura do seu sistema.
Gestão e Monitoramento
Esta é outra área onde o MassTransit não tem muito. Quando um sistema de terceiros com o qual você está se integrando fica indisponível e um monte de mensagens em seu sistema acabam na fila de erros, a única solução que o MassTransit tem para mover manualmente essas mensagens de volta mais tarde usando o plugin RabbitMQ Shovel .
A plataforma de serviço em torno do NServiceBus inclui o monitoramento dessa fila de erros, ferramentas gráficas para ver quais são as causas desses erros, bem como a capacidade de reproduzir grupos dessas mensagens com falha e ver se elas foram realmente processadas com sucesso em um aplicativo da web simples chamado ServicePulse .
Também há a visualização de verificações de saúde que são executadas periodicamente que podem fornecer avisos antecipados de problemas antes que as mensagens comecem a falhar.
E, finalmente, há o monitoramento de desempenho disponível na plataforma:
Você realmente obtém o pacote completo quando se trata de suporte à produção.
Suporte de longo prazo e compatibilidade com versões anteriores
Embora o pessoal do Mass Transit sempre tenha sido extremamente bom em ajudar qualquer pessoa que tenha dúvidas sobre isso no Gitter ou em seu Grupo do Google , não acho que eles fornecem correções de bugs em versões mais antigas. Quando seus sistemas de produção já existem há alguns anos e você não pode simplesmente atualizar tudo o tempo todo, isso começa a ser importante.
Com NServiceBus, o suporte inclui :
- 2+ anos para cada versão principal
- Mais 2 anos de suporte estendido
- Tempos de resposta garantidos em questões críticas
- Disponibilidade 24x7
Consultoria e Treinamento
De uma perspectiva offline, existem cursos públicos disponíveis em todo o mundo no NServiceBus, bem como muitos consultores que podem ser trazidos para o local para iniciar um projeto ou ajudar em caso de problemas. Já ouvi falar de várias empresas que decidiram mudar do MassTransit para NServiceBus porque não conseguiram colocar alguém no local quando precisavam.
Licenciamento
O que algumas pessoas ainda não sabem sobre o NServiceBus é que ele é GRATUITO para uso pessoal e inicializações .
Quando se trata de uso comercial , os modelos de licenciamento em torno do NServiceBus são muito flexíveis, como indica o amplo espectro de clientes, e podem ser bem justificados para a administração. Claro, com o MassTransit, o licenciamento é gratuito.
Espero que ajude de alguma forma.