Топологии сетей (SQL Server Compact)
При передаче данных между клиентами Microsoft SQL Server Compact 3.5 и SQL Server данные передаются через службы Microsoft Internet Information Services (IIS). Службы IIS и программное обеспечение SQL Server могут находиться либо на одном компьютере, либо на разных (в целях повышения производительности и защищенности). Кроме того, для повышения безопасности можно установить дополнительные брандмауэры. Конкретная сетевая топология, используемая в том или ином случае, зависит от требований к безопасности и производительности.
Сетевые топологии
Для передачи данных между SQL Server и клиентами SQL Server Compact 3.5 могут использоваться сети с различными топологиями, однако существуют три общие топологии сети.
Топология с одним сервером
В этой топологии службы IIS, издатель SQL Server и распространитель SQL Server находятся на одном сервере. Этот сервер может находиться за брандмауэром. Если используется брандмауэр, то на нем должен быть открыт только порт 80 для трафика Интернета.
Топология с двумя серверами
В этой топологии службы IIS установлены на одном компьютере, а издатель SQL Server и распространитель SQL Server — на другом. Сервер, на котором выполняются службы IIS, может быть отделен от остальной сети (в том числе и от компьютера с программным обеспечением SQL Server) с помощью брандмауэра. Кроме того, дополнительный брандмауэр может быть установлен между этим сервером и Интернетом. В брандмауэре между клиентом и службами IIS должен быть открыт порт 80, а в брандмауэре между службами IIS и SQL Server должно быть открыто два порта: порт 80 и порт, назначенный для экземпляра SQL Server. (как правило, это порт 1443).
Топология уровня предприятия
Если необходимо поддерживать большое число подписчиков SQL Server Compact 3.5, выполняющих синхронизацию одновременно, то для уменьшения задержки при передаче данных можно разделить нагрузку между несколькими компьютерами со службами IIS.
Если на компьютере с программным обеспечением SQL Server необходима дополнительная балансировка нагрузки, можно создать иерархию публикаций на нескольких компьютерах. Издатель верхнего уровня публикует данные подписчикам SQL Server, которые в свою очередь публикуют их подписчикам SQL Server Compact 3.5. Балансировка нагрузки является статической в том понимании, что каждый подписчик SQL Server Compact 3.5 сопоставляется одному из переиздающих подписчиков и всегда выполняет синхронизацию именно с этим подписчиком.
Примечание
SQL Server Compact 3.5 не поддерживает использование альтернативных партнеров синхронизации.
Как и в случае топологии с двумя серверами, между клиентами и серверами IIS, а также между серверами IIS и переиздающими подписчиками могут быть установлены брандмауэры.
Использование средств кластеризации Windows
Репликация SQL Server Compact 3.5 может применяться в кластере Microsoft Windows, содержащем ферму веб-серверов на основе служб IIS. Однако агент сервера SQL Server Compact 3.5 должен сохранять состояние сеансов во время соединения с клиентами. Поэтому необходимо использовать оборудование и программные средства балансировки нагрузки, позволяющие сохранять состояние сеанса связи между агентом клиента SQL Server Compact 3.5 и агентом сервера SQL Server Compact 3.5.
Системы балансировки нагрузки обычно работают следующим образом. Клиенты обращаются к кластеру по общему имени домена с единым виртуальным IP-адресом. Оборудование или программа балансировки нагрузки перехватывает трафик по протоколу HTTP и направляет его на один из серверов в кластере.
SQL Server Compact 3.5 может использоваться с различными системами балансировки нагрузки, такими как Network Load Balancing (NLB) — система балансировки нагрузки сети Windows. Система Windows NLB входит в состав операционных систем Windows 2003 Advanced Server и Windows 2000 Datacenter Server. NLB можно использовать совместно с SQL Server Compact 3.5, поскольку NLB поддерживает близость клиентов. Данная возможность гарантирует, что клиент всегда перенаправляется на один и тот же сервер со службами IIS в пределах кластера. Если во время сеанса клиента произойдет сбой сети или сервера, то для повторной проверки подлинности клиента и восстановления состояния сеанса требуется повторный вход в систему. Кроме того, при добавлении к кластеру нового сервера IIS часть трафика клиентов будет перенаправлена на новый сервер, что может повлиять на существующие сеансы.
Дополнительные сведения см. на веб-узле Microsoft Windows Server 2003 в разделе «Windows Clustering Technologies» в списке технических ресурсов для Microsoft Windows Server 2003.