Назад | Перейти на главную страницу

Аварийное восстановление MSMQ

Я собираюсь использовать MSMQ в наших корпоративных приложениях. Единственная область, в которой я не смог найти информацию, - это аварийное восстановление.

Сценарий

В серверной комнате возник пожар. Все оборудование было уничтожено, и нам нужно запустить операции из резервной площадки в нескольких милях от нас.

С SQL-сервером у нас включена репликация, которая обеспечивает резервную копию рабочей базы данных на резервном сайте. В случае аварии мы можем переключиться на резервный сайт и продолжить работу с актуальной базой данных.

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

Можно ли этого добиться? Если MSMQ не может легко справиться с этим, возможно ли что-то сделать на уровне хранилища?

В MSMQ нет ничего, что делало бы это автоматически. У вас есть несколько вариантов.

  1. Создайте географически распределенный кластер, используя репликацию хранилища в сети SAN для репликации между двумя сайтами. Настройте MSMQ как кластерный ресурс (который поддерживается).
  2. Используйте что-то вроде двойного дубля для репликации папки MSMQ на сервер на втором сайте. Убедитесь, что MSMQ на втором сервере настроен для просмотра правильной папки и что служба MSMQ на сервере резервного копирования отключена.

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