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