Как создать отказоустойчивую систему MSMQ - PullRequest
2 голосов
/ 11 июля 2011

Сайт нашей компании размещает заказы в MSMQ, где отдельный сервис извлекает и перенаправляет их в нашу корпоративную систему обработки заказов.Конструкция зависит от того, что единственный сервер MSMQ всегда работает и работает.Мне было поручено создать избыточную / отказоустойчивую систему, которая будет обрабатывать сбой сервера MSMQ.Как лучше всего это делать?

Спасибо

(.Net 3.5, Windows Server 2008)

1 Ответ

2 голосов
/ 11 июля 2011

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

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

Различные возможности; зависит от бюджета, допустимого времени простоя и т. д.

...