Поделиться через


Функции и возможности

Компоненты размещения Microsoft AppFabric 1.1 для Windows Server расширяют функциональность размещения служб Платформа .NET Framework версии 4 WCF (Windows Communication Foundation) и Windows Workflow Foundation (WF) в службе активации Windows (WAS), предоставляя следующие возможности:

  • Упрощенное развертывание и управление для служб WCF и WF, размещаемых в службе активации Windows.

  • Упрощенная настройка сохраняемости для устойчивых рабочих процессов.

  • Настраиваемые профили отслеживания, позволяющие захватывать только нужные данные.

  • Выделенное хранилище данных отслеживания с поддержкой запросов.

  • Командлеты Windows PowerShell, позволяющие создавать настраиваемые сценарии управления.

  • Настраиваемое наблюдение за размещенными службами.

  • Поддерживает протокол Интернета версии (IPv6) через стек Windows IPv6

  • Автоматический запуск приложений для минимизации задержки служб.

    Примечание

    Для этого компонента требуется система Windows Server 2008 R2 или Windows® 7.

Функции Кэш AppFabric предоставляют платформу распределенного кэша в памяти, позволяющую разрабатывать масштабируемые, высокодоступные и высокопроизводительные приложения. Далее перечислены ключевые функции Кэш AppFabric.

  • Кэширование любых сериализуемых объектов среды CLR и обеспечение доступа с помощью простых API кэша.

  • Поддержка в масштабах целого предприятия: от десятков до сотен компьютеров.

  • Возможность настройки запуска в качестве службы, доступной по сети.

  • Поддержка типовых конфигураций кэша.

  • Поддержка динамического масштабирования путем добавления новых узлов.

  • Высокий уровень доступности позволяет поддерживать непрерывную доступность кэшированных данных путем сохранения копий этих данных на отдельных узлах размещения кэша.

  • Автоматическая балансировка нагрузки.

  • Интеграция с такими средствами администрирования и наблюдения, как, например, трассировка событий Windows или System Center.

  • Обеспечение плотной интеграции с ASP.NET для обеспечения возможности кэширования данных сеансов ASP.NET без необходимости их записи в исходные базы данных. Кэш также можно использовать для данных приложений, чтобы кэшировать их в пределах всей веб-фермы.

Неподдерживаемые сценарии и конфигурации

Платформа .NET Framework 4 позволяет определять службы рабочих процессов с помощью языка XAML (eXtensible Application Markup Language). AppFabric предназначен для работы со службами рабочих процессов Платформа .NET Framework 4. К ним относятся службы рабочих процессов, активированные с помощью файла SVC или посредством новой функции активации на основе конфигурации, которая позволяет активировать веб-службу без файла SVC. Дополнительные сведения об активации на основе конфигурации см. в разделе Активация на основе конфигурации. Дополнительные сведения об определении рабочего процесса в форме службы с помощью XAML см. в статье WCF And WF Services In The .NET Framework 4 And “Dublin”.

Однако службы WCF и WF, размещенные в Служба активации Windows (WAS), поддерживают следующие параметры активации и конфигурации служб, которые не поддерживаются в AppFabric.

  • Службы в составе предварительно скомпилированного веб-приложения не поддерживаются. Предварительная компиляция — это механизм, используемый платформой ASP.NET для улучшения производительности веб-сайта. Когда компилятор ASP.NET обнаруживает при первом запросе ресурсы веб-приложения, содержимое обычно используемых для активации типов файлов (таких как ASPX или SVC) компилируется в сборку. После этого оно заменяется на автоматически созданный текст. Это гарантирует, что файл остается физической точкой входа активации (и URL-адресом), хотя его содержимое больше не требуется. Средства AppFabric зависят от анализа содержимого файла SVC для обнаружения и управления конфигурацией службы. После того, как компилятор ASP.NET заменяет содержимое файла SVC на автоматически созданный текст, AppFabric не может использоваться для просмотра списка и управления этими службами. Как отмечалось ранее, определенная с помощью языка XAML служба рабочих процессов Платформа .NET Framework 4 в составе предварительно скомпилированного приложения ASP.NET будет работать в Microsoft AppFabric 1.1 для Windows Server. Дополнительные сведения см. в разделе Предварительная компиляция веб-сайта ASP.NET.

  • Службы, которые регистрируются и активируются во время выполнения с помощью функции RouteTable.Routes.Add(), не поддерживаются. Класс Платформа .NET Framework RouteTable используется для хранения URL-маршрутов для приложения. Когда приложение ASP.NET обрабатывает запрос, оно просматривает коллекцию маршрутов в свойстве Routes, чтобы найти первый маршрут, который соответствует формату URL-запроса.  Дополнительные сведения см. в описании класса RouteTable.

    Примечание

    Использование класса RouteTable для регистрации службы является обычной моделью для служб RESTful, которым требуются классические URL-адреса в стиле REST. Например, https://server/AutoService/Car/123-345-678.

Компоненты размещения AppFabric

Компоненты размещения AppFabric используют службу активации Windows, предоставляя среду размещения для служб WCF и WF, и расширяют консоль управления IIS, предоставляя средства управления и настройки для служб, размещенных в службе активации Windows. При наличии служб WCF или WF, размещенных в службе активации Windows, службы размещения AppFabric позволяют перечислять эти службы и управлять ими. Тем не менее если эти службы размещаются в управляемой службе Windows или в автономном приложении, то перед использованием функций размещения AppFabric для этих служб необходимо перенести их в среду размещения службы активации Windows.

Если службы в настоящее время размещаются на узле, отличном от узла службы активации Windows, рекомендуется тщательно оценить функции и возможности AppFabric и среды размещения службы активации Windows перед принятием решения о перемещении служб в службу активации Windows. Дополнительные сведения о возможностях размещения служб WCF и WF см. в статье Службы размещения (https://go.microsoft.com/fwlink/?LinkId=166423).

Развертывание приложений

Существующие в настоящий момент способы развертывания включают использование Xcopy или пакетов развертывания на основе таких технологий, как установщик Windows. Xcopy перемещает артефакты приложений из папки, соответствующей виртуальному каталогу, в целевую папку. Пакеты развертывания используются для развертывания дополнительных артефактов, например сертификатов, учетных записей пользователей, связанных с пулом приложений, параметров реестра или данных в базах данных. Хотя существующие технологии развертывания подходят для развертывания на одном сервере, команда Xcopy часто оказывается слишком простой, а пакет установщика Windows — слишком сложным и требующим специализированных навыков разработки. Ни один из этих способов не приспособлен для развертывания службы в ферме серверов с перспективой масштабирования.

Инструмент веб-развертывания IIS, MSDeploy, предоставляет простую функциональность развертывания на основе пакетов, которую можно использовать в командной строке, в консоли управления IIS или в Visual Studio 2010. MSDeploy также можно использовать для синхронизации компьютеров друг с другом.

Дополнительные сведения об инструменте MSDeploy см. в статье Инструмент веб-развертывания для IIS7 (https://go.microsoft.com/fwlink/?LinkId=127069).

Конфигурация приложений

Ключевым компонентом управляемости приложений является возможность применения параметров конфигурации, влияющих на поведение приложения, без изменения их базового кода. Ниже описывается функциональность, предоставляемая AppFabric для конфигурации размещенных приложений и служб.

Упрощенная конфигурация приложений. Руководящий принцип, используемый компонентами размещения AppFabric, состоит в том, что для администрирования используются только параметры конфигурации из файлов Web.config. Параметры, заданные в исходном коде, недоступны и не могут изменяться средствами администрирования AppFabric. Этот принцип применяется как к императивному коду, такому как C#, так и к декларативному, такому как XAML. Даже если сам по себе код легко увидеть, например в случае XAML, параметры все равно считаются заблокированными и будут недоступны.

Чтобы упростить управление конфигурацией, AppFabric применяет параметры по умолчанию для каждого узла сервера, настроенного в ходе установки. Эти параметры задаются в корневом файле Web.config и могут использоваться любым размещенным приложением. Администратор также может применять параметры сайта или приложения с помощью файла Web.config, предназначенного для этого сайта или приложения, чтобы реализовать более детальное поведение отслеживания или сохраняемости в размещенных приложениях.

Параметры конфигурации WCF, предоставленные с помощью консоли управления IIS. В настоящее время настройка WCF с помощью редактора конфигурации служб WCF (средства SvcConfigEditor.exe) представляет ряд проблем как для разработчиков, так и для ИТ-специалистов. В частности, для использования редактора конфигурации служб необходимо полное и четкое понимание модели служб WCF, что приводит к дополнительной нагрузке на ИТ-специалистов.

AppFabric устраняет эти недостатки, дополняя хорошо знакомую консоль управления IIS расширениями диспетчера IIS для WCF и WF, предназначенными для выполнения наиболее распространенных задач настройки. В качестве примера задач, выполняемых с помощью расширений диспетчера IIS, можно привести включение трассировки, задание параметров регулирования приложений и перечисление всех работающих служб. Другие параметры конфигурации можно применить с помощью мастера настройки AppFabric или редактора конфигурации IIS, доступного с версии IIS 7.0.

Конфигурация сохраняемости WF. В рамках поддержки концепции устойчивых рабочих процессов для реализации длительно работающих бизнес-процессов службы WF можно сохранять в хранилище сохраняемости и возобновлять при возникновении определенного события, например при получении сообщения. Тем не менее настройка сохраняемости остается в основном ручным процессом, в рамках которого необходимо создать службу сохраняемости, дополняемую механизмом устойчивого хранения.

Чтобы упростить настройку сохраняемости рабочих процессов и обеспечить поддержку для конфигураций ферм серверов, службы размещения AppFabric предоставляют хранилище сохраняемости на базе SQL Server и поставщик сохраняемости SQL, которые могут использоваться любым устойчивым рабочим процессом в службе активации Windows. AppFabric также позволяет использовать нестандартное хранилище сохраняемости и выбранный вами поставщик. С помощью AppFabric можно настроить параметры сохраняемости по умолчанию, наследуемые всеми размещенными приложениями, или параметры сохраняемости конкретного приложения.

Командлеты Windows PowerShell. Поскольку наличие параметров настройки и управления в консоли управления IIS существенно облегчает администрирование размещенных приложений, часто возникает потребность в создании сценариев, автоматизирующих многоэтапные процедуры настройки и управления.

Для поддержки решений по созданию сценариев в функциях размещения AppFabric предусмотрен модуль ApplicationServer для оболочки Windows Powershell, содержащий командлеты, которые предоставляют тот же уровень доступа при настройке размещенных приложений и управлении ими, что и средства в консоли управления IIS.

Наблюдение за приложениями

Помимо упрощения развертывания, управления и настройки для размещенных служб, службы размещения AppFabric также облегчают наблюдение за приложениями благодаря захвату данных трассировки, порождаемых во время выполнения, и их сохранению в базе данных наблюдения. После захвата эти сведения становятся доступными в панели мониторинга консоли управления IIS и непосредственно в базе данных наблюдения.

Сведения, полученные от приложения, можно настраивать путем использования профилей отслеживания, позволяющих захватывать такие сведения, как состояние действия (запущено, остановлено, неустранимая ошибка), содержимое конкретных переменных в рабочем процессе или настраиваемые данные отслеживания, порождаемые приложением с помощью настраиваемых записей отслеживания.

Размещение приложений

Службы размещения AppFabric взаимодействуют со службой активации Windows, предоставляя надежную среду размещения для среднеуровневых приложений WCF и WF. Далее перечислены некоторые из функций службы активации Windows.

  • Активация приложений и рабочих процессов на основе сообщений. Приложения запускаются и останавливаются динамически, реагируя на рабочие элементы, поступающие по сетевым протоколам, относящимся к HTTP или отличным от HTTP.

  • Устойчивая утилизация приложений и рабочих процессов для поддержания работоспособности выполняющихся приложений.

  • Централизованная настройка приложений и управление ими.

В дополнение к обычным функциям службы активации Windows в Платформа .NET Framework 4 представлены усовершенствования в области активации размещенных служб. Для активации службы, построенной с использованием Платформа .NET Framework 3.5, необходимо создание отдельного «файла службы» (с расширением SVC), который должен развертываться вместе со службой. Более того, если служба использует WF, вместе с этой службой должен быть создан и развернут дополнительный файл XAML. Платформа Платформа .NET Framework 4 обеспечивает возможность активации служб WF без необходимости создания и развертывания отдельного SVC-файла. Чтобы обеспечить прямую активацию связанного приложения WF на узле, файл XAML должен иметь расширение XAMLX. Как приложения WCF, так и приложения WF могут быть активированы непосредственно из файла Web.config без необходимости создания отдельного SVC-файла. Дополнительные сведения об этой и других функциях среды размещения службы активации Windows см. в статье Размещение (https://go.microsoft.com/fwlink/?LinkId=166403).

Хотя упрощенная активация устраняет необходимость в файле службы, механика активации на основе сообщений, используемая службой активации Windows, при этом не затрагивается. Если служба размещена в службе активации Windows, то ее экземпляры не создаются до тех пор, пока не будет получено сообщение, направленное для службы. Это означает, что при первом запуске службы она должна инициализировать новый экземпляр путем, например, выделения памяти, загрузки библиотек или создания объектов. Если приложение обрабатывает времязависимые данные, подобная задержка запуска отдельных служб может быть неприемлема. Даже если обрабатываемые данные не зависят от времени, зависимость от активации на основе сообщений накладывает ограничения на доступные службам способы получения данных, поскольку для активации на основе сообщений необходим активатор службы активации Windows. В штатный набор платформы .NET входят активаторы для следующих протоколов:

  • http: обеспечивает активацию HTTP для IIS 7.0 и WCF;

  • net.tcp: обеспечивает активацию на основе TCP-портов;

  • net.pipe: обеспечивает активацию на основе именованных каналов;

  • net.msmq: используется с приложениями очереди сообщений (MSMQ), основанными на WCF;

  • msmq.formatname: обеспечивает обратную совместимость с существующими приложениями MSMQ.

Чтобы обойти ограничения активации на основе сообщений, службы размещения AppFabric могут использовать функцию автозапуска в IIS, предоставляемую в системах Windows Server 2008 R2 и Windows 7 для автоматического запуска служб, размещенных в службе активации Windows, сразу же после развертывания без ожидания сообщения активации.

Компоненты Кэш AppFabric

Службы Кэш AppFabric объединяют память нескольких компьютеров, предоставляя приложениям единый кэш. Приложения могут хранить любые сериализуемые объекты среды CLR без необходимости учета того, где именно сохраняется этот объект. Масштабируемость можно обеспечить простым добавлением компьютеров по мере необходимости. Службы Кэш AppFabric также допускают хранение копий данных во всем кластере, таким образом защищая данные от сбоя. Службы Кэш AppFabric включают объект поставщика сеанса ASP.NET, что позволяет сохранять объекты сеансов ASP.NET в распределенном кэше без необходимости их записи в базы данных. Это повышает производительность и масштабируемость приложений ASP.NET.

  2012-03-05