Я предполагаю, что IIS и SQL находятся на отдельных серверах:
IIS: можно использовать функцию Microsoft NLB для распределения нагрузки между 2 или больше серверами. Они могут быть веб-выпусками Windows. Это включено в окна. У Вас будет виртуальный IP, с которым соединится клиент. Серверы "совместно используют" этот IP и распространят клиент к другому серверу. Многоадресная передача/одноадресная передача зависит от сети, количества nic и intra коммуникации сервера или нет. NLB не является знающим приложением при закрытии IIS пользователи будут потеряны, если у Вас будет привязка. NLB просто удаляют сервер, если он снижается с IP точки зрения. Необходимо будет измениться в метабазе IIS (loadbalancercapabilities), как объяснено здесь: http://technet.microsoft.com/en-us/library/cc757659 (WS.10) .aspx С точки зрения лицензии, это включено в окна, более стоимость.
С точки зрения WCF: Клиент соединится с одним из этих X веб-серверов. Можно поддержать их на тех же серверах, в то время как этот работает (через привязку). Привязка основана на хеше между клиентским IP и Виртуальным IP. Если сбой сервера, клиент будет отправлен серверам других. При использовании http сессий/аутентификации необходимо будет сохранить сессию за пределами сервера, как на базе данных. Еще клиентская сессия будет проиграна когда сбой сервера.
SQL: у Вас есть differents опции: использование механизма SQL, чтобы копировать базу данных или использовать Microsoft MSCS (кластер). Последний означает версию для предприятия Windows и внешнюю совместно используемую память, которые подразумевают высокую стоимость (но все еще стандартная версия SQL). Идя с SQL чистый слой, можно зеркально отразить базу данных. Каждый сервер получил локальное устройство хранения данных, и основное устройство отправляет транзакцию на лету на резервный сервер (synchrone или asynchrone). Когда Ваше подключение веб-сервера, сервер говорит ему, что резервный сервер доступен в случае проблемы через собственный клиент SQL и или ADO.NET. Так Ваш переключатель веб-сервера к резервному серверу автоматически в случае проблемы. Это все работы со стандартной версией SQL. Базы данных должны быть в полном режиме восстановления. Это для каждой базы данных, поэтому если Ваши WCF будут использовать несколько база данных, и только один повреждается, то у Вас будет проблема, потому что одна база данных теперь активна на резервном сервере, но все другие находятся все еще на основном сервере.
Более подробная информация: http://technet.microsoft.com/en-us/library/cc917680.aspx
Я получил 6 серверов iis, и я также получил сервис WCF к.
Я использую ARR (Маршрутизация Запроса приложения), расширение модуля IIS, для маршрутизации запроса к моей веб-ферме. это работает очень прекрасное.
Я также использую NLB для своего сервиса WCF как Mathieu, говорят.
Для моего SQL-сервера я использую Hyper-V, два VM для моего SQL-сервера, с кластером SQL и окнами faileover кластер и Живая миграция.
Я отвечу на французском языке, поэтому если некоторое тело может перевести, это, будет, ценят.
Ce que vous devez faire, c'est avoir un serveur de cluster. Пещера "сердцебиения" Ce serveur va servir à maintenir le vos deux serveur SQL. Отличный Les deux serveur SQL doivent être sur des machines, mais doivent partager le même partage réseaux (SAN ou NAS ou autre). Les основывает de donnée sont monté sur ООН seul serveur а-ля fois. Оценка "сердцебиения" Lorsque le brisé, l'autre serveur prend la relève, и Монте-Карло, en une фракционировал de второй les, основывают de donnée и сервисный доход оценки избирателя, ceci оценка le "отказоустойчивый кластер". Lorsque le processus de transfert de serveur начинает vous pouvez perdre quelques ping. Ce qui va détruire туры vos соединение actuelle стих la основывают de donnée. La seul facons que vous pouvez être à 99% c'est d'y ajouter живая миграция. Vous avez ООН 2 serveur Hyper-V (хост) qui Монте-Карло vos deux serveur SQL (ООН sur хост чека), пещера миграции vous activer le live vos deux машина virtuel, donc si vous avez à redémarer un host (serveur qui héberge SQL), vous faites ООН живая миграция de машина избирателя sql d'un размещают à l'autre. Сыворотки La mémoire transferer d'un coté à l'autre et vous n'aurez aucune perte de connection. Обработка отказа Votre fonctionne toujours, donc si c'est la machine virtuelle qui détient le service sql qui plante, alors c'est l'autre qui va prendre la relève et vous perdrez alors quelques проверяет с помощью ping-запросов mais сервисные сыворотки избирателя remonté très rapidement.
Помощник J'epère que cela va vous, et désoler pour le francais, mais en anglais j'aurais surement été mal compris.
Да, кластеризируемые веб-серверы обычно называют, веб-фермы (обратите внимание, что термин не имеет никаких баз данных SQL связанными с ним, только веб-серверы).
Можно было бы обычно использовать подсистему балансировки нагрузки перед веб-серверами.