Jako oryginalny autor NServiceBus, prawdopodobnie jestem nieco stronniczy w stosunku do własnej technologii, ale postaram się, aby było to jak najbardziej wyważone.
Wsparcie transportowe
Oba NServiceBus i MassTransit wsparcie RabbitMQ i Azure Autobus , ale NServiceBus obsługuje również:
Na temat RabbitMQ
Można argumentować, że NServiceBus ma silniejsze wsparcie dla RabbitMQ - na przykład w jego funkcji opóźnionej dostawy, podczas gdy Mass Transit stwierdza, że ich "wtyczka jest nadal uważana za eksperymentalną. Jest obsługiwana przez MassTransit, ale nie możemy zagwarantować nic więcej niż wtyczka gwarantuje sobie. "
Współpracujemy również bardzo blisko z zespołem RabbitMQ, przyczyniając się do tworzenia .net SDK z korzyścią dla całego ekosystemu.
Jeśli chodzi o Azure Service Bus
Poziom współpracy, jaki mamy z zespołem Azure Service Bus, jest jeszcze wyższy, z ponad 70 żądaniami PR do ich zestawu SDK .net core .
Korzystając z NServiceBus, czerpiesz korzyści z pełnej głębi tej wiedzy.
Obróbka
To jest największa różnica.
Po zbudowaniu solidnego systemu, wgląd w to, jak różne ruchome części rozmawiają ze sobą, staje się naprawdę ważny. MassTransit nie ma wiele w tej dziedzinie poza małą integracją poprzez źródło diagnostyczne z narzędziami innych firm, takimi jak Application Insights lub Open Trace.
Platforma usługowa wokół NServiceBus idzie trochę dalej, dając Ci możliwość zobaczenia diagramów sekwencji we wszystkich punktach końcowych dzięki ServiceInsight :
Możesz również uzyskać logiczny widok wszystkich punktów końcowych i komunikatów:
Zasadniczo otrzymujesz żywą dokumentację architektury swojego systemu.
Zarządzanie i monitorowanie
To kolejny obszar, w którym MassTransit nie ma zbyt wiele. Kiedy system innej firmy, z którym się integrujesz, staje się niedostępny, a kilka komunikatów w Twoim systemie kończy się w kolejce błędów, jedynym rozwiązaniem, jakie ma MassTransit, jest możliwość ręcznego przeniesienia tych wiadomości później za pomocą wtyczki RabbitMQ Shovel .
Platforma usługowa wokół NServiceBus obejmuje monitorowanie tej kolejki błędów, narzędzia graficzne pozwalające zobaczyć, jakie były przyczyny tych błędów, a także możliwość odtwarzania grup tych nieudanych komunikatów i sprawdzania, czy zostały one pomyślnie przetworzone w prostej aplikacji internetowej o nazwie ServicePulse .
Dostępna jest również wizualizacja okresowych kontroli stanu, które mogą zapewnić wczesne ostrzeżenia o problemach, zanim wiadomości zaczną kończyć się niepowodzeniem.
I wreszcie na platformie dostępne jest monitorowanie wydajności :
Naprawdę otrzymujesz pełny pakiet, jeśli chodzi o wsparcie produkcyjne.
Długoterminowe wsparcie i kompatybilność wsteczna
Podczas gdy ludzie z Mass Transit zawsze byli bardzo dobrzy w pomaganiu każdemu, kto ma pytania na ten temat w Gitter lub w ich Grupie Google , nie sądzę, aby dostarczali poprawki błędów w starszych wersjach. Kiedy systemy produkcyjne istnieją już od kilku lat i nie możesz po prostu aktualizować wszystkiego przez cały czas, zaczyna to być ważne.
Z obsługą NServiceBus obejmuje :
- Ponad 2 lata dla każdej głównej wersji
- Dodatkowe 2 lata rozszerzonego wsparcia
- Gwarantowane czasy reakcji w krytycznych kwestiach
- Dostępność 24x7
Doradztwo i szkolenia
Z perspektywy offline, na całym świecie dostępne są kursy publiczne w NServiceBus, a także wielu konsultantów, których można sprowadzić na miejsce, aby rozpocząć projekt lub pomóc w przypadku problemów. Słyszałem od kilku firm, które zdecydowały się przejść z MassTransit na NServiceBus, ponieważ nie mogły znaleźć kogoś na miejscu, gdy tego potrzebowały.
Koncesjonowanie
Niektórzy ludzie nadal nie wiedzą o NServiceBus, że jest BEZPŁATNY do użytku osobistego i dla startupów .
Jeśli chodzi o komercyjne wykorzystanie , modele licencjonowania NServiceBus są bardzo elastyczne, jak wskazuje szerokie spektrum klientów, i mogą być dobrze uzasadnione kierownictwem. Oczywiście w przypadku MassTransit licencja jest bezpłatna.
Mam nadzieję, że to w jakiś sposób pomoże.