Введение в Windows Server AppFabric

Среда Windows Server AppFabric расширяет возможности системы Windows Server, предоставляя усовершенствованные возможности размещения, управления и кэширования для веб-приложений и служб среднего уровня. Компоненты размещения AppFabric добавляют расширения управления службами в службы IIS, в службу активации Windows (WAS) и в платформу .NET Framework 4. Сюда входят службы размещения и средства администрирования размещения, которые облегчают развертывание и настройку служб на основе Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF), а также управление этими службами. Компоненты кэширования AppFabric добавляют в систему Windows Server распределенный кэш объектов в памяти, который упрощает масштабирование высокопроизводительных приложений .NET, в особенности приложений ASP.NET.

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

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

Разработчики все чаще встречаются с потребностью в высокой скорости отклика и высоком уровне масштабируемости приложений. Это справедливо не только для служб среднего уровня, но и для веб-приложений, приложений для мобильных устройств и приложений на настольных компьютерах. В результате растущего уровня требований к приложениям (например, веб-сайт становится популярным, или другие группы начинают использовать общую службу) серьезным ограничителем производительности и масштабируемости приложений часто оказывается дорогой доступ к данным. Хотя кэширование является устоявшимся решением на уровне баз данных, оно все чаще признается основным фактором реализации высокопроизводительных веб-приложений и составных служб. В обоих случаях можно использовать службы кэширования AppFabric для повышения производительности и масштабируемости приложений и служб .NET с высокой интенсивностью обмена данными. Службы кэширования AppFabric предоставляют высокодоступный распределенный кэш в памяти, который может легко и гибко масштабироваться (увеличиваться и уменьшаться) независимо от уровня приложения или данных. Благодаря поддержке API .NET и прозрачной интеграции с ASP.NET и PowerShell службы кэширования AppFabric обеспечивают возможность введения кэширования в пользовательские решения с минимальным воздействием на код и поддержанием целостности управления.

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

Дополнительные сведения об AppFabric см. в Центре разработчиков Windows Server (https://go.microsoft.com/fwlink/?LinkId=182970).

Службы размещения

Задача

Настройка среды размещения для приложения, которое включает службы на основе WCF и WF, может быть сложной и длительной. Хотя службы IIS и WAS предоставляет надежную среду размещения таких приложений, для использования их преимуществ могут потребоваться значительные усилия по разработке, специализированные решения для развертывания и ручные процедуры настройки. После развертывания и настройки решения проблемы могут возникнуть и с управлением службами.

Решение

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

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

Дополнительные сведения о возможностях размещения AppFabric см. в разделе Основные понятия размещения.

Платформа кэша в памяти AppFabric

Задача

Использование кэша в памяти для хранения часто используемых данных приложений — общепринятый способ повышения производительности приложений. Операции чтения из памяти и записи в память выполняются на порядки быстрее, чем чтение с диска и запись на диск. Однако размер кэша в памяти ограничен объемом доступной памяти на компьютере, на котором работает приложение, а данные, хранящиеся в кэше в памяти, могут быть навсегда потеряны из-за естественной нестабильности компьютерной памяти. Разработка приложений, способных полноценно использовать кэш в памяти, также усложняется отсутствием API для сохранения объектов в кэше в памяти и их извлечения оттуда. Кроме того, разработка приложений, использующих кэширование, также может затрудняться нехваткой возможностей для управления кэшем.

Решение

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

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

Дополнительные сведения см. в разделе Компоненты кэша Windows Server AppFabric.

Сохраняемость рабочих процессов

Задача

Реализация долговременных служб с контролем состояния на основе платформы Windows Workflow Foundation может оказаться затруднительным делом. Чтобы настроить сохраняемость для обеспечения устойчивости рабочих процессов, может потребоваться создать хранилище сохраняемости и схему, установить базу данных сохраняемости, а затем настроить ее. В рабочей среде может присутствовать база данных, хранящая вызванные экземпляры устойчивых рабочих процессов. Некоторые из этих рабочих процессов могут быть приостановлены, некоторые могут работать. При этом сложно видеть, что происходит с системой.

Решение

В AppFabric сохраняемость сразу работает так, как нужно. Службы размещения AppFabric используют хранилище сохраняемости SQL, которое поставляется в составе платформы .NET Framework 4, и создают базу данных сохраняемости по умолчанию, которую могут использовать приложения. Это позволяет распространять службы с контролем состояния на несколько компьютеров. Можно использовать настраиваемое хранилище сохраняемости по собственному выбору. Администрирование размещения AppFabric также предоставляет инструментарий, необходимый для наблюдения за действиями в базе данных сохраняемости и работы с долговременными рабочими процессами.

Дополнительные сведения о компонентах сохраняемости в AppFabric см. в разделе Основные понятия сохраняемости.

Службы наблюдения

Задача

При использовании приложений на основе WCF и WF не всегда можно видеть, что происходит со службами и экземплярами рабочих процессов. Например, если службы и рабочие процессы размещены на нескольких компьютерах, то где они активируются? Сколько из них активируется? Каково их состояние? Возникают ли ошибки?

Решение

Службы размещения и средства администрирования размещения AppFabric позволяют вести наблюдение за работоспособностью и диагностику для работающих служб WCF и WF, а также управлять этими службами. Это можно делать на странице "Панель мониторинга AppFabric" диспетчера IIS. Панель мониторинга AppFabric позволяет постоянно быть в курсе состояния системы. Данные наблюдения помогает лучше управлять экземплярами рабочих процессов. Кроме того, появляется возможность гибкого изменения запросов, создающих данные, и выбора уровня наблюдения, что позволяет собирать достаточный объем данных для наблюдения за работоспособностью приложений без перерасхода ресурсов на наблюдение за приложениями. Функция наблюдения AppFabric основана на возможностях отслеживания и трассировки в платформе .NET Framework.

События хранятся в базе данных наблюдения, к которой можно получить доступ с помощью инструментария администрирования размещения. Участник отслеживания записывает события в сеанс трассировки событий Windows, а служба сбора событий, устанавливаемая вместе с компонентами размещения AppFabric, считывает эти события из сеанса трассировки событий Windows, обеспечивая высокопроизводительную обработку данных. При установке компонентов размещения AppFabric программа установки устанавливает настраиваемую инфраструктуру наблюдения, рассчитанную на использование в рабочей среде. Можно использовать хранилище данных наблюдения SQL, которое поставляется в составе платформы .NET Framework 4, или настраиваемое хранилище по собственному выбору. В AppFabric можно настроить автоматическую очистку базы данных наблюдения.

Дополнительные сведения о компонентах наблюдения в AppFabric см. в разделе Основные понятия наблюдения.

Средства управления

Задача

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

Решение

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

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

В диспетчере IIS можно видеть конфигурацию службы в одном диалоговом окне. В этом диалоговом окне можно задать конфигурацию службы, а также параметры конфигурации по умолчанию для приложения, веб-сайта или сервера, которые могут наследоваться службой. Службы размещения AppFabric используют возможность объединения реакций на события в .NET Framework 4, которая позволяет службе наследовать свойства конфигурации с любого уровня иерархии IIS. Во многих сценариях конфигурации службы размещения позволяют задать параметры конфигурации в соответствующем файле Web.config без прямого доступа к этому файлу.

К средствам администрирования размещения также относятся командлеты Windows PowerShell, позволяющие управлять приложениями из консоли PowerShell и с помощью автоматизированных сценариев настройки. К этим модулям PowerShell относится модуль ApplicationServer для служб размещения AppFabric, а также модули DistributedCacheAdministration и DistributedCacheConfiguration для служб кэширования AppFabric.

В AppFabric имеется мастер установки компонентов размещения и кэширования AppFabric, а также мастер настройки этих компонентов. Кроме того, AppFabric можно установить с помощью WebPI.

Дополнительные сведения о средствах управления AppFabric см. в разделе Средства управления.

Разработка служб

Задача

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

Решение

Службы размещения AppFabric не налагают особых требований на создание приложений. Достаточно того, чтобы приложение могло быть размещено в среде размещения IIS и WAS с помощью службы активации Windows (WAS). Шаблоны проектов по умолчанию в Visual Studio® (приложение WCF-службы и приложение службы рабочего процесса WCF) поддерживают IIS и WAS и управляются AppFabric без необходимости в каких-либо изменениях. Приложения, в текущий момент размещенные в службе активации Windows, можно развернуть в AppFabric без изменения.

Дополнительные сведения о разработке приложений для использования в AppFabric см. в разделе Разработка приложения.

Развертывание служб

Задача

При развертывании службы с одного сервера на другом или с использованием одинаковой конфигурации на нескольких серверах могут возникать сложности.

Решение

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

Дополнительные сведения о разработке приложений в AppFabric см. в разделах Типичные развертывания и Развертывание приложения.

Расширяемость служб размещения и администрирования

Задача

Некоторые предварительно подготовленные решения сложно расширять и использовать в качестве основы.

Решение

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

Дополнительные сведения о расширяемости AppFabric см. в разделе Расширяемость AppFabric.

  2011-12-05