Ответ 1
Вещи, которые MT добавляет поверх всего лишь использования RabbitMQ:
- Многопотоковые, параллельные потребители
- Сериализация сообщений, включая интерфейсы и управление версиями
- Автоматические привязки обмена, соглашения о публикации
- Саги, включая постоянное состояние через NHibernate
- Счетчики производительности для ваших услуг
- Заголовки сообщений
- Обработка ошибок
Это всего лишь несколько, некоторые более значимые, чем другие. Тот факт, что автобус размещает ваших потребителей, обработчиков, саг и управляет всеми потоками, вероятно, является самым большим преимуществом и тем фактом, что вы можете размещать несколько шин в одном и том же процессе.
Сериализация является следующим самым большим преимуществом, поскольку это может быть болезненным для выяснения, а получение контракта на основе интерфейса с автоматическим десериализованным типом (включая динамически поддерживаемые типы интерфейсов) огромно. Публикация одного класса, который реализует несколько интерфейсов, и видеть, что все заинтересованные потребители собирают свою часть сообщения асинхронно, просто потрясающе в производстве, поскольку новые интерфейсы могут быть добавлены к производителям, а потребители нижнего уровня не подвержены влиянию.
Это несколько, вы можете проверить документацию больше на http://masstransit-project.com/MassTransit/understand/additions-to-transport.html или дать недавний .NET Rocks! podcast послушайте какой-то связанный контент по-настоящему.