Типовые развертывания
Требования к топологии развертывания сервера Microsoft AppFabric 1.1 для Windows Server зависят преимущественно от бизнес-потребностей и требований к размещаемым приложениям. Несмотря на то, что трудно рассматривать какое-либо развертывание как стандартное и создать на его основе руководство, в этом разделе содержится руководство и рекомендации по развертыванию AppFabric в пользовательской среде.
Здесь обсуждаются следующие темы, связанные с развертыванием:
Развертывание AppFabric на одном сервере
Развертывание AppFabric в ферме серверов
Вопросы безопасности, связанные с развертыванием компонентов кэширования AppFabric
Сценарии развертывания компонентов кэширования AppFabric
Развертывание AppFabric на одном сервере
Развертывание на одном сервере выполняется при установке AppFabric на одном компьютере. Как правило, это развертывание используется в среде развертывания, в которой вся разработка приложений выполняется на единственном компьютере.
SQL Server
Так как горизонтальная масштабируемость не является проблемой в среде развертывания, это развертывание AppFabric может быть настроено на использование локальной установки экспресс-выпуска SQL Server для баз данных наблюдения и сохраняемости.
Развертывание приложений
Хотя развертывание приложения может быть выполнено с помощью приложений упаковки и развернуто в AppFabric с помощью средства MSDeploy, скорее всего, разработчики настроят свой проект для прямого использования локального сервера IIS как основы для размещения приложений, так как размещение приложения в тестовой среде выполняется проще и быстрее. Однако рекомендуется, чтобы разработчики проверили упаковку и развертывание приложений до миграции в среду подготовки или в производственную среду, чтобы развертывание упакованного приложения проходило успешно.
Дополнительные сведения о развертывании приложения см. в разделе Развертывание приложений.
Развертывание AppFabric в ферме серверов
Хотя одного компьютера с AppFabric и сервером SQL Server достаточно для среды развертывания, производственная среда, как правило, состоит из нескольких компьютеров в ферме серверов и одного или нескольких специально назначенных серверов SQL Server. Такая среда может использоваться узлами балансировки нагрузки и запросами для управления входящими сообщениями, которые предназначены приложению, а также службой кластера для SQL Server высокой надежности.
Развертывание AppFabric в небольших масштабах может начаться с установки AppFabric на отдельном компьютере, однако затем может понадобиться установка в ферму серверов, в которой все приложения развернуты на нескольких серверах для создания приложения высокой надежности. Масштабирование позволяет реализовать решения балансировки нагрузки, чтобы обработка входящих сообщений выполнялась на нескольких серверах, а также чтобы обеспечить повышенную отказоустойчивость рабочих процессов, использующих сохраняемость.
Кластеризация SQL Server
Хотя это и не описано подробно в данном разделе, настоятельно рекомендуется кластеризовать базы данных для обеспечения отказоустойчивости. Дополнительные сведения об отказоустойчивости кластеров SQL Server см. на странице Планирование восстановления после сбоев (https://go.microsoft.com/fwlink/?LinkId=131016).
Надежное горизонтальное масштабирование приложений
В случае наличия долговременного процесса важно, чтобы приложение смогло выдержать перезапуск системы, отказы оборудования или непредвиденные сбои сервера. AppFabric по умолчанию предоставляет поставщик сохраняемости, обеспечивающий сохраняемость для приложений с поддержкой рабочих процессов, работающих в течение длительного периода времени.
При использовании одного сервера сохраняемость обеспечивает возможность возобновление выполнения экземпляра рабочего процесса при возвращении сервера, на котором размещен этот экземпляр, в работоспособное состояние; однако в ферме серверов приложение может быть возобновлено только на допустимом компьютере фермы. Кроме того, если экземпляр рабочего процесса выполняется на одном сервере, а сообщение, адресованное этому экземпляру, приходит на другой сервер, принцип сохраняемости позволяет переместить выполняемый экземпляр на компьютер с ожидающим сообщением, чтобы последнее было обработано рабочим процессом.
Дополнительные сведения см. в разделе Настройка сохраняемости рабочих процессов.
Изоляция данных
Конфигурация по умолчанию для AppFabric заключается в сохранении данных наблюдения и сохраняемости в одной базе данных. Хотя это достаточно для среды разработки, как правило, производственная среда нуждается в более надежном наборе ресурсов для хранения данных. В AppFabric можно создавать несколько отдельных баз данных сохраняемости и наблюдения для обеспечения изоляции данных на нескольких компьютерах с SQL Server.
Так как AppFabric поддерживает создание нескольких баз данных, можно отделять данные не только по выполняемой функции (сохраняемость и наблюдение), но и по приложению. При наличии приложения с требованиями к надежному хранению данных, можно создать базы данных сохраняемости и наблюдения, которые будут связаны только с этим приложением или службой.
Дополнительные сведения о создании дополнительных баз данных см. в разделе Администрирование базы данных.
Развертывание приложений
При развертывании приложения на нескольких компьютерах важно, чтобы это развертывание выполнялось согласованно. Для этого в AppFabric используется средство MSDeploy, с помощью которого можно упаковывать и развертывать веб-приложения, веб-сайты или содержимое и конфигурацию веб-серверов. MSDeploy можно также использовать для синхронизации данных между веб-сайтом или веб-сервером и локальным компьютером или удаленными компьютерами в ферме.
Дополнительные сведения о развертывании приложения см. в разделе Развертывание приложений. Дополнительные сведения об инструменте MSDeploy см. в статье Инструмент веб-развертывания (https://go.microsoft.com/fwlink/?LinkId=151481).
Вопросы безопасности, связанные с развертыванием компонентов Кэш AppFabric
Распределенная система кэширования AppFabric предназначена для работы в центре данных, расположенного в пределах действия брандмауэра. Серверы, описанные в этом разделе, являются сервером размещения конфигурации кэша, серверами кэша, серверами приложений, поддерживающих кэширование, серверами разработки и сервером-источником основных данных. Все серверы должны принадлежать одному домену.
Так как кэшированные данные и взаимодействие по протоколу TCP/IP между серверами не шифруются, распределенная система кэширования может подвергнуться атакам злоумышленников, регистрирующих или изменяющих сетевой трафик.
Примечание
Клиент кэша AppFabric предназначен для размещения на уровне приложений в экосистеме приложения. Пользователи в домене организации и за его пределами не должны иметь прямой сетевой доступ к серверам кэширования.
При списании сервера кэша программа установки AppFabric может не удалить все исключения портов в брандмауэре. После удаления AppFabric рекомендуется применить стандартную конфигурацию брандмауэра.
Сценарии развертывания компонентов Кэш AppFabric
Чтобы упростить обсуждение параметров развертывания, в этом разделе внимание уделяется трем отдельным примерам:
Развертывание разработчика. Развертывание на одном компьютере, используемое для разработки приложений с поддержкой кэширования.
Развертывание средних размеров. Установка на нескольких компьютерах, при которой не используется SQL Server. Ведущие узлы выполняют роль управления кластером.
Корпоративное развертывание. Установка на нескольких компьютерах, в которой используется SQL Server для хранения параметров конфигурации кластера и выполнения роли управления кластером.
В следующей таблице приведены места установки компонентов Кэш AppFabric и способы выполнения роли управления кластером.
Компонент Кэш AppFabric | Развертывание разработчика | Развертывание средних размеров | Корпоративное развертывание |
---|---|---|---|
Расположение хранилища конфигурации кластера кэша |
Локальная общая папка на рабочей станции разработчика |
Общая сетевая папка на файловом сервере |
База данных SQL Server |
Установка сервера кэша (служба Windows узла кэша и средство администрирования Windows PowerShell) |
Рабочая станция разработчика |
Один или несколько серверов кэша (ограничено максимальным количеством одновременных подключений к папке) |
Один или несколько серверов кэша |
Сборки клиентов кэша |
Рабочая станция разработчика |
Один или несколько серверов приложений |
Один или несколько серверов приложений |
Параметры конфигурации кластера кэша могут храниться в общей сетевой папке или в базе данных SQL Server. Дополнительные сведения о каждом из этих вариантов см. в разделе Способы хранения конфигурации кластера.
Роль управления кластером может выполняться ведущими узлами или сервером SQL Server. С точки зрения доступности кластера кэша наилучшим решением является использование SQL Server. Дополнительные сведения см. в разделе Ведущие узлы и управление кластером (кэширование в AppFabric 1.1).
Развертывание разработчика
При использовании развертывания разработчика все компоненты, необходимые для создания приложения с поддержкой кэширования, включая сам кластер кэширования, содержатся на рабочей станции разработчика. Такое развертывание является самым удобным при начале работы с компонентами Кэш AppFabric.
Развертывание средних размеров
При развертывании средних размеров приложение может использовать преимущества распределенного кластера кэша. Можно без труда масштабировать приложения для соответствия растущим требованиям уровня приложений.
Так как в этом сценарии развертывания не используется SQL Server для хранения параметров конфигурации кластера, существует ряд недостатков. В некоторых операционных системах ограничено количество одновременных подключений к общим папкам, что напрямую влияет на максимальное количество узлов кэша, которое можно задействовать в кластере распределенного кэша. Windows XP, Windows Server 2003 и 32-разрядная версия Windows Vista не позволяют устанавливать более 10 одновременных подключений к общей сетевой папке. Не рекомендуется использовать эти операционные системы для хранения параметров конфигурации кэша для больших кластеров.
При использовании автоматизации или другого способа выполнения параллельных установок серверов кэша может возникнуть проблема с доступом к файлам конфигурации кластера. Самой надежной стратегией установки серверов кэша в этом сценарии является выполнение установки одного сервера кэша за раз.
Так как в этом сценарии не развертывается SQL Server, нет необходимости устанавливать SQL Server и создавать базу данных конфигурации кластера для используемого приложения. В плане экономии денег и времени это может и не принести сокращения затрат. Все зависит от уже доступных для используемого приложения ресурсов. При использовании общей папке в качестве хранилища конфигурации кластера все серверы кэша в этом кластере должны поддерживать постоянное сетевое подключение к этой общей сетевой папке.
Без SQL Server только ведущие узлы могут выполнять роль управления кластером. Так как большинство ведущих узлов всегда должно работать, чтобы кластер кэша оставался доступным, кластер кэша в этом сценарии становится более уязвимым при сбое серверов. Кроме того, этот сценарий усложняет обслуживание серверов с точки зрения доступности приложения. Дополнительные сведения см. в разделе Ведущие узлы и управление кластером (кэширование в AppFabric 1.1).
Корпоративное развертывание
По сравнению с другими сценариями развертывания корпоративное развертывание обеспечивает наилучшую доступность и поддержку. В этом сценарии необходимо использовать SQL Server, что может не поддерживаться некоторыми приложениями.
Если SQL Server выполняет роль управления кластером, кластер может вынести отключение всех серверов кэша в кластере за исключением одного с полным сохранением работоспособности. Как при использовании варианта хранения конфигурации кластера в общей папке, серверы кэша должны иметь постоянное сетевое подключение к базе данных SQL Server.
Примечание
При остановке сервера кэша (для выполнения операций обслуживания или по каким-либо другим причинам) утрачиваются все данные, хранящиеся в памяти этого сервера. Для именованных кэшей с включенным компонентом высокой доступности, копии утраченных данных остаются на других серверах кластера и быстро копируются на дополнительный сервер. Дополнительные сведения см. в разделе Высокий уровень доступности (кэширование в AppFabric 1.1).
Так как ни один из серверов кэша в этом сценарии не выполняет роль управления кластером, обслуживание серверов для приложений высокой доступности значительно упрощается. Нет необходимости в сложных последовательностях перезапуска серверов. Дополнительные сведения см. в разделе Ведущие узлы и управление кластером (кэширование в AppFabric 1.1).
Использование SQL Server является предпочтительным в тех случаях, когда необходимы одновременные подключения. Это позволяет осуществлять автоматизированные параллельные установки серверов кэширования без ограничений по размерам кластера, которые свойственны развертыванию среднего уровня. Дополнительные сведения см. на странице Установка расширений сервера приложения для платформы .NET 4 (https://go.microsoft.com/fwlink/?LinkId=169172).
См. также
Основные понятия
Общие сведения об архитектуре
Способы хранения конфигурации кластера
Конфигурация кластера на основе общих папок
Конфигурация кластера на основе SQL Server
Использование Windows PowerShell для управления компонентами кэширования в AppFabric 1.1
Ведущие узлы и управление кластером (кэширование в AppFabric 1.1)
2012-03-05