Подтвердить что ты не робот

Альтернативы NServiceBus, которые не используют MSMQ

Я думаю, что название суммирует все это... У нас есть система .NET 2.0, пытающаяся реализовать распределенную паб/подмодуль. Я столкнулся с NServiceBus, RhinoBus и MassTransit. К сожалению, они основаны на MSMQ. Мне поручено выяснить альтернативы pub/sub, которые используют разные альтернативы обмена сообщениями...

единственной причиной поиска альтернатив MSMQ является преодоление ограничения размера сообщения. Поскольку наши сообщения с корпоративными приложениями могут быть усечены из-за ограничений на сообщения...

любое руководство очень ценится

4b9b3361

Ответ 1

Привет, старый вопрос, но стоит упомянуть, что NServiceBus теперь поддерживает ActiveMQ (как одну альтернативу) с другими в разработке. Также были разговоры о внедрении "Шины данных" для преодоления ограничения размера сообщения, но я не знаю его статуса.

Инфраструктура на месте, чтобы подключить различные транспорты, и я вспоминаю, что обсуждал вопрос об использовании Sql Server Service Broker, хотя я не знаю, было ли это когда-либо за пределами начальных обсуждений.

Ответ 2

В NServiceBus есть Roadmap, в котором говорится, что они намерены предложить более гибкий транспорт, чтобы разрешить альтернативы MSMQ.

MassTransit также предполагает, что они нацелены на поддержку альтернатив.

К сожалению, ни один из них еще не существует.

Ответ 3

Старый вопрос, но стоит подкрепить актуальный ответ. Для тех, кто разрабатывает приложения уровня предприятия, Windows Azure Service Bus действительно имеет большое значение с момента своего создания, и стоит внимательно изучить любого, кто заинтересован в реализации паба/подмодели. Ниже приведены некоторые основные особенности служебной шины Windows Azure...

  • Включает Windows Azure Tools SDK для .Net, что делает разработку очень простой на любом языке .Net.

    /li >
  • Существует Проводник, который является интерфейсом графического интерфейса, который обеспечивает простоту управления и проверки ваших очередей. Одна версия встроена прямо в Visual Studio, а другая - автономное приложение.

  • Содержит три модели обмена сообщениями

    • Relay - предназначен для связи между приложениями на локальном уровне и облачными приложениями.
    • Pub/Sub - Известный как "Темы" в Azure, он предоставляет модель публикации сообщений/подписки.
    • Brokers Messaging - развязанный обмен сообщениями, когда отправителю и получателю не нужно одновременно подключаться к сети.
  • Поддерживает транзакционное поведение (гарантированная доставка сообщений)

  • Лучше всего, Microsoft видит будущее в облачных вычислениях, так что это будет только улучшаться.

  • Самым большим недостатком этой технологии является то, что Windows Azure предназначена для крупных корпоративных сред и поэтому очень дорогая.

Вот хороший веб-сайт, в котором содержится более подробная информация о последних возможностях Windows Azure Service Bus

BTW: Я не отношусь к Micrsoft каким-либо образом. Я только что пришел на фоне использования NServiceBus и обнаружил, что очень легко перейти на Windows Azure Service Bus, поскольку модели похожи.

Ответ 4

Если у вас есть бюджет, вы всегда можете использовать Biztalk.

Если вы хотите сделать что-то более интересное, вы можете использовать служебную шину Microsoft Azure http://www.microsoft.com/azure/servicebus.mspx

Вы можете использовать SQL-брокер служб http://msdn.microsoft.com/en-us/library/ms345108(SQL.90).aspx. Не уверен, был ли план прекратить эту фиктивность.

Или вы хотите простейшую вещь, которая работает, используйте таблицу sql:)

Ответ 5

Я использую для этого пару таблиц базы данных.

Ответ 7

В настоящее время я работаю на сервисной шине с открытым исходным кодом на основе WCF. Вы можете найти его здесь: http://rockbus.codeplex.com/. Он поддерживает динамические (@run-time) подписки, репозиторий реквизитов (база данных), подключаемые транспорты, маршрутизацию на основе контента на основе XPath, транзакционную доставку по протоколам wcf, доставку по всему периметру, возможность подключения подписки и т.д. Посмотрите!