En tant qu'auteur original de NServiceBus, je suis probablement un peu partial à l'égard de ma propre technologie, mais je vais essayer de rester aussi équilibré que possible.
Soutien au transport
NServiceBus et MassTransit supportent tous deux RabbitMQ y Azure Service Bus mais NServiceBus prend également en charge :
Au sujet de RabbitMQ
On pourrait arguer que NServiceBus dispose d'une meilleure prise en charge de RabbitMQ - par exemple, dans sa fonction la fonctionnalité de livraison différée tandis que Mass Transit États que leur "plugin est toujours considéré comme expérimental. Il est supporté par MassTransit, mais nous ne pouvons rien garantir de plus que ce que le plugin garantit lui-même."
Nous travaillons également en étroite collaboration avec l'équipe RabbitMQ, contribuer au SDK .net au profit de l'ensemble de l'écosystème.
Quand il s'agit d'Azure Service Bus
Le niveau de collaboration que nous avons avec l'équipe d'Azure Service Bus est encore plus élevé, avec plus de 70 PRs pour leur SDK .net core .
Lorsque vous utilisez NServiceBus, vous bénéficiez de toute la profondeur de ces connaissances.
Outillage
C'est la plus grande différence.
Une fois que vous avez construit un système substantiel, il devient très important d'avoir une visibilité sur la façon dont les différentes parties mobiles communiquent entre elles. MassTransit n'a pas grand-chose dans ce domaine, si ce n'est une petite intégration par le biais d'un système de gestion de la qualité. Source de diagnostic à des outils tiers comme Application Insights ou Open Trace.
La plate-forme de service autour de NServiceBus va un peu plus loin, en vous donnant la possibilité de voir les diagrammes de séquence sur tous les points de terminaison avec ServiceInsight :
Vous pouvez également obtenir une vue logique de tous vos points de terminaison et messages :
En substance, vous obtenez une documentation vivante de l'architecture de votre système.
Gestion et suivi
C'est un autre domaine où MassTransit n'a pas grand-chose. Lorsqu'un système tiers avec lequel vous vous intégrez devient indisponible et qu'un grand nombre de messages de votre système se retrouvent dans la file d'attente des erreurs, la seule solution dont dispose MassTransit est de déplacer manuellement ces messages ultérieurement à l'aide de l'outil de gestion des messages. Plugin RabbitMQ Shovel .
La plateforme de service autour de NServiceBus inclut la surveillance de cette file d'attente d'erreurs, des outils graphiques pour voir quelles étaient les causes de ces erreurs, ainsi que la possibilité de rejouer des groupes de ces messages échoués et de les envoyer à d'autres utilisateurs. voir qu'ils ont effectivement été traités avec succès le tout dans une simple application web appelée ServicePulse .
Il existe également une visualisation des contrôles de santé qui sont exécutés périodiquement et qui peuvent fournir des alertes précoces de problèmes avant que les messages ne commencent à tomber en panne.
Et enfin, il y a le suivi des performances disponibles sur la plate-forme :
Vous bénéficiez vraiment d'une offre complète en matière de soutien à la production.
Soutien à long terme et rétrocompatibilité
Alors que les gens de Mass Transit ont toujours été très bons pour aider ceux qui ont des questions à ce sujet sur le site web de l'entreprise. Gitter ou leur Groupe Google Je ne pense pas qu'ils fournissent des corrections de bogues sur les anciennes versions. Lorsque vos systèmes de production existent depuis quelques années et que vous ne pouvez pas tout mettre à jour en permanence, cela devient important.
Avec NServiceBus Le soutien comprend :
- 2+ ans pour chaque version majeure
- Deux années supplémentaires de support étendu
- Temps de réponse garantis sur les questions critiques
- Disponibilité 24x7
Conseil et formation
D'un point de vue hors ligne, il existe des cours publics disponibles dans le monde entier sur NServiceBus ainsi que de nombreux consultants qui peuvent être amenés sur place pour lancer un projet ou pour aider en cas de problème. J'ai entendu parler de plusieurs entreprises qui ont décidé de passer de MassTransit à NServiceBus parce qu'elles ne pouvaient pas trouver quelqu'un sur place quand elles en avaient besoin.
Licences
Ce que certaines personnes ignorent encore à propos de NServiceBus, c'est qu'il est GRATUIT pour l'utilisation personnelle et les startups .
Lorsqu'il s'agit de utilisation commerciale Les modèles de licence autour de NServiceBus sont très flexibles, comme l'indique le large éventail de clients, et peuvent être bien justifiés auprès de la direction. Bien sûr, avec MassTransit, la licence est gratuite.
J'espère que cela vous aidera d'une manière ou d'une autre.