MSMQ против SQL Server Service Broker - PullRequest
       16

MSMQ против SQL Server Service Broker

6 голосов
/ 19 октября 2010

У меня есть приложение, которое состоит из трех частей:

  • интерфейсный интернет-магазин для конечных пользователей и деловых партнеров
  • система управления заказами для обработки этих заказов
  • система технической базы данных для обработки всех технических деталей заказанных продуктов и услуг

Сегодня эти системы (которые находятся на отдельных серверах и разрабатываются отдельными группами) взаимодействуют с помощью веб-сервисов WCF.

Эта настройка работает нормально - пока все серверы работают. Которые они не - не всегда, во всяком случае.

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

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

Но главный вопрос: MSMQ или Service Broker? Все три системы основаны на Windows и .NET и уже используют SQL Server - на трех отдельных серверах.

Есть ли у кого-нибудь убедительные реальные факты, которые говорят за (или против) одну из этих двух технологий? Каков ваш реальный опыт работы с этими двумя наборами технологий? Плюсы и минусы. Если бы вы могли начать с нуля - какой бы вы выбрали? Или вы бы выбрали что-то еще (что?) Целиком?

1 Ответ

6 голосов
/ 19 октября 2010

Я использовал оба в разных ситуациях одинаково хорошо.Мои предпочтения довольно просты: используйте SQL Service Broker, если событие отправки сообщения инициируется из события базы данных;Используйте очередь сообщений, если событие в коде.Это предпочтение основано только на том, что его проще настроить на той же платформе, которая вызовет событие.

...