Альтернативы очереди MSMQ в Windows? [закрытый]

Способ регистрации этого в Простом Инжекторе:

container.Register(typeof(IEntityRepository<,>), typeof(EntityRepository<,>));
container.Register<IProductsDbContext, ProductsDbContext>();

В Простом Инжекторе нет эквивалента AsImplementedInterfaces, хотя есть несколько способов добиться того же самого. В случае, если ProductsDbContext имеет несколько интерфейсов, которые необходимо зарегистрировать, наиболее очевидный способ - зарегистрировать каждый интерфейс явно:

container.Register<IProductsDbContext, ProductsDbContext>();
container.Register<IUsersDbContext, ProductsDbContext>();
container.Register<ICustomersDbContext, ProductsDbContext>();
32
задан Thomas Lundström 1 September 2008 в 07:46
поделиться

6 ответов

Я не могу начать говорить достаточно хороших вещей о EMS Tibco - реализация Java JMS обменивающаяся сообщениями спецификация. Tibco EMS имеет превосходную поддержку клиентов.NET - включая Компактную Платформу.NET на WinCE. (У них также есть клиентские библиотеки C также.)

Поэтому при создании неоднородного вовлечения распределенного приложения, передающего код, работающий на Windows, Unix (AIX/Солярис), Linux или Mac OS X, затем Tibco, EMS является билетом.

Выезд моя статья здесь:

Используя JMS Для Разработки Распределенных программных средств

я раньше работал в Microsoft и сделал некоторую реализацию с MSMQ в то время как там. Но Вы знаете, Microsoft просто интересуется Windows. Они зависели от третьих сторон для обеспечения клиентов MSMQ другим платформам. Мое обнаружение с EMS Tibco было намного лучшим опытом. Было очень очевидно, что Tibco понял обмен сообщениями намного больше, чем Microsoft. И Tibco прикладывают усилия к поддержке самой разнообразной клиентской привязки. Именно поэтому они в конечном счете изменили название продукта от Tibco JMS до EMS Tibco (Служба обмена сообщениями Предприятия).

И я действительно создавал неоднородные программные системы вокруг EMS Tibco. Прокрученная.NET C# клиенты Winform, взаимодействующие со средним уровнем Java/JBoss через обмен сообщениями EMS Tibco. (И также имейте WinCE промышленные встроенные компьютеры, которые используют Компактную Платформу.NET клиент Tibco.)

Ссылки На Мои Записи JMS

10
ответ дан 27 November 2019 в 20:45
поделиться

Что относительно 2005 SQL сервисный брокер ?

7
ответ дан 27 November 2019 в 20:45
поделиться

Может не быть совет "лучшей практики" здесь..., но на основе реальных потребностей и опыта: у нас есть распределенная система, 60 полей, выполняющих каждого 10 клиентов, все делают задачу X, и они должны взять следующую задачу от очереди. Очередь питается от еще одного "клиента"...

Мы использовали, предают коммуникацию процесса земле, мы использовали MSMQ, мы судили сервисного брокера... Это просто не работает в долгосрочной перспективе, потому что Вы выдаете управление своего приложения к Microsoft. Это работает отлично, пока Ваши потребности удовлетворены. это становится адом при необходимости в чем-то не поддерживаемом.

лучшее решение для нас было: Используйте таблицу SQL Database в качестве очереди. Не изобретайте велосипед там, так как Вы сделаете ошибки (блокировки). Существует информация там о том, как сделать это, это очень легко, и мы обработали по сообщениям 200K на 24-й (с 60x10 = 600 параллельных чтений и записи очереди). Это в дополнение к той же остальной части обработки SQL-сервера материала приложения...

Некоторые причины, почему MSMQ не работает:

  1. , Когда необходимо изменить логику очереди к не FIFO, но что-то как "самое старое КРАСНОЕ сообщение" или "самое старое СИНЕЕ сообщение", Вы не можете сделать этого. (Я знаю то, что скажут люди, можно сделать это при наличии красная очередь и синяя очередь ...But, что, если число/типы очередей является динамичным на основе пути, приложением управляют и ежедневно изменяется?)

  2. Это добавляет точку отказа, и кошмар развертывания (очередь является точкой отказа, и необходимо иметь дело с установкой правильных полномочий на всех полях к сообщениям чтения-записи и т.д.' в Программном обеспечении предприятия, которое Вы оплачиваете в крови подобные вещи). SQL-сервер... все клиенты уже пишут/читают из DB, это - просто еще одна таблица..

18
ответ дан 27 November 2019 в 20:45
поделиться

Почему бы не использовать ActiveMQ? :)

3
ответ дан 27 November 2019 в 20:45
поделиться

Если стоивший не проблема ( существует также экспресс SKU ), затем смотрят на гориллу за 800 000 фунтов. WebSphere MQ (Ряд MQ). Это работает практически на любой платформе и поддерживает столько различных диспетчеров очереди и обменивающихся сообщениями шаблонов, действительно не уместно перечислить их здесь.

3
ответ дан 27 November 2019 в 20:45
поделиться

Если высокой доступностью является важный Amazon, на SQS стоит посмотреть. Нет большого количества дополнительных издержек, если сообщения прибывают из различных физических местоположений. Дешевый и масштабируемый!

1
ответ дан 27 November 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: