Руководитель группы попросил меня изучить MSMQ в качестве опции для новой версии нашего продукта. Мы используем SQL Service Broker в нашей текущей версии. Я приложил немало усилий для экспериментов и поиска в Google, чтобы найти, какой продукт лучше подходит для моих нужд, но я подумал, что я спрошу лучший сайт, который я знаю, для программирования ответов.
Некоторые детали:
- Наш клиент - это код .NET 1.1 и 2.0; отсюда и будет отправлено сообщение.
- Цель в экземпляре SQL Server 2005. Все сообщения заканчиваются обновлением или вставкой базы данных.
- Мы вышлем несколько обновлений, которые должны рассматриваться как транзакция.
- У нас должна быть идеальная возможность восстановления сообщений; никакие сообщения не могут быть потеряны.
- Мы должны быть асинхронными и иметь возможность принимать сообщения, даже когда целевой сервер SQL не работает.
- Разработка собственного решения для очередей не вариант; мы маленькая команда
Вещи, которые я обнаружил до сих пор:
- Как MSMQ, так и SQL Service Broker могут выполнять эту работу.
- Похоже, что сервисный брокер быстрее обрабатывает транзакционные сообщения.
- Компоненту Service Broker требуется где-то работающий сервер SQL, в то время как MSMQ нужен любой сконфигурированный компьютер с Windows, работающий где-то.
- MSMQ, кажется, лучше / быстрее / проще в настройке / работе в кластерах.
Я что-то упустил? Здесь есть явный победитель? Любые мысли, опыт или ссылки будут оценены. Спасибо!
РЕДАКТИРОВАТЬ: В итоге мы остановились на сервисном брокере, потому что у нас есть пользовательская структура БД, используемая в некоторых наших клиентских кодах (мы лучше обрабатываем транзакции). Этот код захватил SQL для транзакций, но не. Код клиента был также полностью версии 1.1 .NET, поэтому нам пришлось бы обновить весь код клиента. Спасибо за вашу помощь!