У меня есть приложение, которое состоит из трех частей:
- интерфейсный интернет-магазин для конечных пользователей и деловых партнеров
- система управления заказами для обработки этих заказов
- система технической базы данных для обработки всех технических деталей заказанных продуктов и услуг
Сегодня эти системы (которые находятся на отдельных серверах и разрабатываются отдельными группами) взаимодействуют с помощью веб-сервисов WCF.
Эта настройка работает нормально - пока все серверы работают. Которые они не - не всегда, во всяком случае.
Итак, я начал рассматривать использование MSMQ или SQL Server Service Broker для управления связью между этими системами - по крайней мере, когда дело доходит до интернет-магазина, хранящего заказ в системе управления заказами, или системы управления заказами, отправляющей технические данные в систему технической базы данных.
Я надеюсь добиться большей надежности во всей системе - пользователи по-прежнему могут размещать заказы, и они не будут потеряны, даже если серверная часть управления заказами временно недоступна.
Но главный вопрос: MSMQ или Service Broker? Все три системы основаны на Windows и .NET и уже используют SQL Server - на трех отдельных серверах.
Есть ли у кого-нибудь убедительные реальные факты, которые говорят за (или против) одну из этих двух технологий? Каков ваш реальный опыт работы с этими двумя наборами технологий? Плюсы и минусы. Если бы вы могли начать с нуля - какой бы вы выбрали? Или вы бы выбрали что-то еще (что?) Целиком?