NServiceBus vs MassTransit

Walczę z listą zalet i wad dotyczących NServiceBus i MassTransit.

Teraz wiem, że jest tu już wątek, ale nie odpowiada na moje pytania.

Oto co do tej pory przeczytałem:

    NServiceBus, tak, jest licencjonowany i nie przychodzi za darmo.
  1. MassTransit, tak, to open source, ale dokumentacji wydaje się trochę brakuje.

NServiceBus jest starszy i ma więcej odniesień. Trudno znaleźć rzeczy o MassTransit, ale jestem otwarty. Jednak muszę dostarczyć solidne rozwiązanie, więc muszę zapytać.

Więc proszę, kogoś z doświadczeniem z obu frameworków. Dlaczego warto wybrać NServiceBus? Albo dlaczego powinienem wybrać MassTransit?

Czy to wydajność, bezpieczeństwo, skala czy?

Author: shA.t, 2012-11-30

3 answers

Gdybym miał podsumować, oto co bym powiedział:

Jeśli potrzebujesz wsparcia komercyjnego, wybierz NServiceBus. Jeśli nie masz nic przeciwko używaniu forów jako środka wsparcia, MassTransit jest świetną opcją. Deweloperzy do tej pory bardzo reagowali na nasze problemy. Jeśli wybierzesz MassTransit, teraz będziesz wybierać między MSMQ i RabbitMQ. Jeśli potrzebujesz DTC, wybierz MSMQ. Jeśli chcesz więcej funkcji i lepszej administracji, przejdź z RabbitMQ.

W naszym projekcie przełączyliśmy się z NServiceBus do MassTransit z dwóch powodów:

  1. MassTransit jest wolny
  2. we love RabbitMQ

Użyłem obu frameworków. Używałem MassTransit dłużej niż NServiceBus. Oto najważniejsze wydarzenia, jak je widzę.

Koszt:

  • MassTransit jest Apache 2.0 licencjonowany i darmowy do użytku komercyjnego, podczas gdy NServiceBus nie jest.

Wsparcie:

  • Jak wspomniano Udi, istnieje opcja dla komercyjnych NServiceBus wsparcie, nie widziałem tego dla MassTransit.

Transport:

  • MassTransit obsługuje MSMQ i RabbitMQ
  • NServiceBus obsługuje tylko MSMQ RabbitMQ jest obsługiwany w NServiceBus 4+

RabbitMQ vs MSMQ:

    MSMQ obsługuje DTC (distributed transaction coordinator) dla transakcji obejmujących wiele procesów na potencjalnie wielu maszynach (np.]}
  • RabbitMQ ma doskonałe interfejs administracyjny
  • MSMQ istnieje już od dłuższego czasu i jest produktem firmy Microsoft.]} RabbitMQ jest nowszy, open source, darmowy i sponsorowany przez VMWare]}
  • MSMQ jest domyślnie instalowany na większości komputerów z systemem Windows
Udi Dahan i MassTransit (Chris Patterson, Dru Sellers i Travis Smith) to genialni ludzie.
 86
Author: Clay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-12 18:55:42

Jako oryginalny autor NServiceBus, jestem wyraźnie stronniczy w stosunku do mojej własnej technologii, więc postaram się utrzymać to tak zrównoważone, jak tylko mogę.

Aktualizacja: istnieją obecnie narzędzia do monitorowania i debugowania dostępne dla NServiceBus za pośrednictwem konkretnej platformy usługowej, które znacznie ułatwiają budowanie i uruchamianie systemów opartych na wiadomościach. Z pełną integralnością techniczną uważam, że to zdecydowanie wskazuje na równowagę na korzyść NServiceBus. End Update

Podczas gdy w na początku śledziłem wiele rozwoju MassTransit, ostatnio nie miałem zbyt wiele czasu, aby to zrobić, więc zakładam, że obie technologie są równie dobre same w sobie i skupiają się na ekosystemie.

Wokół NServiceBus jest większa społeczność, więc jeśli potrzebujesz pomocy, jest więcej osób, które mogą jej udzielić. Mając to na uwadze, podstawowa grupa MassTransit zawsze był bardzo dobry w pomaganiu każdemu, kto ma problemy.

Z NServiceBus, firmy mogą kup pomoc techniczną i uzyskaj gwarantowany czas reakcji na ich problemy-24x7, na całym świecie. Nie wierzę, że podobna oferta jest dostępna od facetów MassTransit.

Z perspektywy offline, na całym świecie dostępne są kursy publiczne na NServiceBus, a także wielu konsultantów, którzy mogą być przyprowadzeni na miejsce, aby rozpocząć projekt lub pomóc w przypadku problemów. Słyszałem od kilku firm, które zdecydowały się na przejście z MassTransit na NServiceBus, ponieważ nie mogły wezwij kogoś na miejsce, kiedy będzie tego potrzebował.

Powiedziałbym, że modele licencjonowania wokół NServiceBus są wystarczająco elastyczne, aby dopasować się do każdego budżetu, jak wskazuje szerokie spektrum klientów, i mogą być dobrze uzasadnione dla zarządzania. Oczywiście, z MassTransit, licencjonowanie jest bezpłatne.

Mam nadzieję, że to w jakiś sposób pomoże.

 14
Author: Udi Dahan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-28 20:31:03

Zawsze możesz użyć Shuttle (FOSS): https://github.com/Shuttle/shuttle-esb :)

Dokumentacja (zawsze poprawiana): http://shuttle.github.io/shuttle-esb/

Projekt Shuttle trwa prawie 2 lata i jest używany w systemach produkcyjnych. To będzie kwestia wyboru tego, co z Tobą rezonuje.

NServiceBus ma dobre osiągnięcia. Używałem go wcześniej na systemie produkcyjnym (1.9), ale nie od czasu, gdy przeszedł na rynek (punkt, w którym Zacząłem od wahadłowca).

Nie próbowałem MassTransit.

Myślę, że wszystkie Twoje opcje będą miały podstawy (command / event / pub-sub). Jednak NServiceBus ma sagas i rzeczy z magistrali danych, chociaż myślę, że jest wystarczająco łatwo obsługiwać dane poza samą magistralą usług, takie jak w programach obsługi wiadomości końcowych. Nie wiem, czy MassTransit ma magistralę sagas/data, ale Shuttle na pewno nie.

Kolejną kwestią jest prawdopodobnie to, jak zamierzasz używać autobus służbowy. Jeśli ma być częścią produktu, a następnie dla opcji komercyjnych, takich jak NServiceBus trzeba wziąć pod uwagę konsekwencje kosztów dla użytkowników produktu i chociaż jest to nadal coś, co musi być brane pod uwagę w rozwoju wewnętrznym to z pewnością może być uzasadnione.

 3
Author: Eben Roux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-09 19:09:48