Записи DNS не распространяют, они кэшируются для TTL (время жизни) рассматриваемой записи. Я предполагаю, что Ваши серверы имен остаются такими же (на основе того, что Вы отправили), таким образом, Вы захотите посмотреть на TTL записей, которые собираются изменить и возможно понизить TTL к чему-то, чем Вы довольны. Любой объект, пытающийся получить доступ к Вашим "общедоступным" ресурсам на основе DNS, который имеет Вашу старую информацию в их кэше (в течение времени жизни TTL), будет использовать старую информацию в их кэше, пока TTL не истечет, и они выполняют новый поиск для тех записей. Любой объект, пытающийся получить доступ к Вашим "общедоступным" сервисам, который не имеет ни одной из Ваших записей кэшируемой, сразу получит новую информацию. Таким образом, если Ваш текущий TTL составляет 3 600 секунд (1 час) затем какой-либо объект, который имеет ту информацию в, он - кэш, попытается использовать старую информацию в течение одного часа, затем TTL истекает, и новый поиск выполняется, в котором времени новая информация получается и кэшируется (в течение времени жизни TTL).
Вы определенно собираетесь захотелось изучить возможность кластеризации в Server 2008. Вы можете настроить приложение службы очереди сообщений для обеспечения высокой доступности и отказоустойчивости. Основным условием для его настройки является наличие SAN.
http://msdn.microsoft.com/en-us/library/dd897482 (v = bts.10) .aspx
Также, если вы хотите получить отличный обзор того, как это настроить, посетите виртуальную лабораторию Microsoft: http://go.microsoft.com/?linkid=7091154
Если вам нужно время переключения при отказе ниже типичного для MSCS (оно, как правило, довольно медленное), подумайте о настройке NLB с MSMQ через HTTP.
Это позаботится о доступности и может масштабировать до десятков узлов.
Боюсь, MSMQ - не лучшее решение, если вам нужна высокая доступность. А как насчет других продуктов? Я бы посоветовал проверить RabbitMQ, он неплохо поддерживается и миграция не очень болезненна.