Як оригінальний автор NServiceBus, я, мабуть, трохи упереджений до власної технології, але я намагатимусь тримати це якомога збалансованіше.
Транспортна підтримка
NServiceBus і MassTransit підтримують RabbitMQ і Azure Service Bus , але NServiceBus також підтримує:
На тему RabbitMQ
Можна аргументувати те, що NServiceBus має сильнішу підтримку RabbitMQ - наприклад, у своїй функціональності із затримкою доставки, тоді як Mass Transit заявляє, що їх "плагін все ще вважається експериментальним. Він підтримується MassTransit, але ми не можемо гарантувати нічого, крім плагіна гарантує себе ".
Ми також дуже тісно співпрацюємо з командою RabbitMQ, вносячи внесок у .net SDK на благо всієї екосистеми.
Коли справа стосується службової шини Azure
Рівень співпраці у нас з командою Azure Service Bus ще вище, з більш ніж 70 реципієнтів в їх .net ядра SDK .
Користуючись NServiceBus, ви отримуєте вигоду з усієї глибини цих знань.
Інструментальна обробка
Це найбільша різниця.
Як тільки ви побудували суттєву систему, зрозуміти, як всі різні рухомі частини розмовляють між собою, стає справді важливим. MassTransit не має багато в цій галузі, окрім невеликої інтеграції через діагностичне джерело до сторонніх інструментів, таких як Application Insights або Open Trace.
Платформа обслуговування навколо NServiceBus йде набагато далі, надаючи вам можливість переглядати діаграми послідовностей у всіх кінцевих точках за допомогою ServiceInsight :
Ви також можете отримати логічний погляд на всі ваші кінцеві точки та повідомлення:
По суті, ви отримуєте документацію про архітектуру вашої системи.
Управління та моніторинг
Це ще одна область, де у MassTransit не так багато. Коли стороння система, з якою ви інтегруєтесь, стає недоступною, а купа повідомлень у вашій системі потрапляє в чергу помилок, єдиним рішенням MassTransit є можливість вручну перемістити ці повідомлення назад пізніше за допомогою плагіна RabbitMQ Shovel .
Сервісна платформа навколо NServiceBus включає моніторинг цієї черги помилок, графічний інструментарій для виявлення причин, які спричинили ці помилки, а також можливість повторного відтворення груп тих невдалих повідомлень та переконання, що вони насправді були успішно оброблені в простому веб-додатку. називається ServicePulse .
Існує також візуалізація перевірок працездатності, які проводяться періодично, що може забезпечити раннє попередження про проблеми до того, як повідомлення почнуть не працювати.
І нарешті, на платформі доступний моніторинг продуктивності :
Ви дійсно отримуєте повний пакет, коли мова йде про виробничу підтримку.
Довготривала підтримка та зворотна сумісність
Хоча люди, які займаються Громадським транспортом, завжди надзвичайно добре допомагали всім, хто має запитання щодо цього в Gitter або їхній групі Google , я не думаю, що вони надають виправлення помилок у старих версіях. Коли ваші виробничі системи існують пару років, і ви не можете просто постійно все модернізувати, це починає бути важливим.
Підтримка NServiceBus включає :
- 2+ роки для кожної основної версії
- Додаткові 2 роки розширеної підтримки
- Гарантований час реагування на критичні питання
- Доступність цілодобово та без вихідних
Консалтинг та навчання
З точки зору офлайн, по всьому світу на NServiceBus доступні публічні курси, а також багато консультантів, яких можна залучити до місця для запуску проекту або допомоги у випадку проблем. Я чув від кількох компаній, які вирішили перейти з MassTransit на NServiceBus, оскільки вони не могли залучити когось на місці, коли їм це було потрібно.
Ліцензування
Деякі люди досі не знають про NServiceBus, це те, що він БЕЗКОШТОВНИЙ для особистого користування та стартапів .
Що стосується комерційного використання , моделі ліцензування навколо NServiceBus дуже гнучкі, як свідчить широкий спектр клієнтів, і можуть бути цілком виправданими для керівництва. Звичайно, з MassTransit ліцензування є безкоштовним.
Сподіваюся, це якимось чином допомагає.