Параметры конфигурации приложения (кэширование в AppFabric 1.1)
С помощью компонентов кэша Microsoft AppFabric 1.1 для Windows Server можно настраивать параметры клиента кэша приложения программно, с использованием файла конфигурации приложения или с применением обоих этих подходов в разных частях приложения. Дополнительные сведения о каждом из этих способов настройки и их выборе см. в разделе Настройка клиента кэша.
Независимо от используемого подхода выполняется настройка одних и тех же параметров клиента кэша. В приведенных в данном разделе таблицах представлены доступные клиенту кэша параметры и способ их настройки в основанном на XML файле конфигурации приложения и программно с использованием кода.
Дополнительные сведения об использовании этих параметров в приложении см. в примерах раздела Конфигурация клиента на основе XML.
Параметры клиента кэша
У каждого клиента кэша определены параметры конфигурации. Если вы используете файл конфигурации, они включены в разделы dataCachClient
, которые можно встроить в раздел dataCacheClients
. Пример:
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
<dataCacheClient name="compressedCache" isCommpressionEnabled="true">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
В предыдущем примере в файле конфигурации определено два клиента кэша: default
и compressedCache
. Для доступа к кэшу по умолчанию указывать имя клиента кэша не требуется. Пример:
DataCacheFactory factory = new DataCacheFactory();
Чтобы указать другой именованный раздел dataCacheClient
, следует задать имя раздела клиента кэша с помощью конструктора DataCacheFactoryConfiguration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
Если вы не используете файл конфигурации приложения, вы можете программно определить все параметры в свойствах класса DataCacheFactoryConfiguration.
Параметр | Местоположение конфигурации XML | Местоположение конфигурации кода |
---|---|---|
Сжатие (логический) |
Атрибут |
Свойство IsCompressionEnabled класса DataCacheFactoryConfiguration. |
Время ожидания клиента (в миллисекундах) |
Атрибут |
Свойство RequestTimeout класса DataCacheFactoryConfiguration. |
Время ожидания открытия канала (в миллисекундах) |
Атрибут |
Свойство ChannelOpenTimeout класса DataCacheFactoryConfiguration. |
Максимальное число подключений к серверу |
Атрибут |
Свойство MaxConnectionsToServer класса DataCacheFactoryConfiguration. |
Параметры узла кэша
Для каждого клиента кэша необходимо указать один или несколько узлов кэша в кластере. Указывайте ведущие узлы, поскольку узлы кэша, считающиеся ведущими, помогают управлять кластером. Изначально ведущими являются узлы, которые были установлены в кластере первыми. Дополнительные сведения о ведущих узлах см. в разделе Схема физической архитектуры кэширования AppFabric (кэширование в AppFabric 1.1).
В файле конфигурации приложения параметры узла локального кэша указываются в элементе узла, который является дочерним по отношению к элементу hosts
. Программно каждый узел обозначается в конструктора классов класса DataCacheServerEndpoint. После установки эти объекты DataCacheServerEndPoint передаются в свойство Servers класса DataCacheServerEndpoint.
Параметр | Местоположение конфигурации XML | Местоположение конфигурации кода |
---|---|---|
Имя сервера кэша |
Атрибут |
Свойство HostName класса DataCacheServerEndpoint. |
Номер порта кэша |
Атрибут |
Свойство CachePort класса DataCacheServerEndpoint. |
Параметры локального кэша
Параметры локального кэша указывают, должен ли локальный кэш быть включен, способ превращения локально кэшированных объектов в недействительные, время ожидания объекта и использование уведомлений кэша для того, чтобы делать локально кэшированные объекты недействительными.
В файле конфигурации приложения параметры локального кэша задаются в элементе localCache
, который является дочерним по отношению к элементу dataCacheClient
. Программным образом локальный кэш настраивается с помощью экземпляра класса DataCacheFactoryConfiguration, который передается в конструктор класса DataCacheFactory. Дополнительные сведения о локальном кэше см. в разделе Клиенты кэша и локальный кэш (кэширование в AppFabric 1.1).
Параметр | Местоположение конфигурации XML | Местоположение конфигурации кода |
---|---|---|
Локальный кэш включен |
Атрибут |
Свойство IsEnabled класса DataCacheLocalCacheProperties. После этого значение назначается свойству LocalCacheProperties класса DataCacheFactoryConfiguration. |
Метод недействительности локального кэша |
Атрибут |
Свойство InvalidationPolicy класса DataCacheLocalCacheProperties. Возможны значения NotificationBased и TimeoutBased. |
Время ожидания локального кэша (в секундах) |
Атрибут |
Свойство DefaultTimeout класса DataCacheLocalCacheProperties. |
Интервал опроса для конкретных уведомлений кэша (в секундах) |
(Необязательно) Указывается атрибутом |
Свойство PollInterval класса DataCacheNotificationProperties. После этого значение назначается свойству NotificationProperties класса DataCacheFactoryConfiguration. |
Максимальное число локально кэшированных объектов |
(Необязательно) Указывается атрибутом |
Свойство ObjectCount класса DataCacheLocalCacheProperties. |
Примечание
Для обеспечения оптимальной производительности локальный кэш следует включать только для объектов, которые редко изменяются. Использование локального кэша для часто изменяемых данных может привести к увеличению шанса того, что клиент будет работать с устаревшими объектами. Хотя можно уменьшить значение ttlValue
и ускорить обновление локального кэша, повышенная загрузка кластера может перевесить преимущества использования локального кэша. В таких случаях, для которых характерно использование часто изменяемых данных, рекомендуется отключить локальный кэш и извлекать данные непосредственно из кластера.
Параметры уведомления
В файле конфигурации приложения свойства уведомления задаются в элементе clientNotification
, который является дочерним по отношению к элементу dataCacheClient
. Программным образом свойства уведомления настраиваются с помощью экземпляра класса DataCacheFactoryConfiguration, который передается в конструктор класса DataCacheFactory. Дополнительные сведения см. в разделе Методы настройки.
Параметр | Расположение конфигурации XML | Расположение конфигурации кода |
---|---|---|
Интервал опроса для конкретных уведомлений кэша (в секундах) |
Указывается атрибутом |
Свойство PollInterval класса DataCacheNotificationProperties. После этого значение назначается свойству NotificationProperties класса DataCacheFactoryConfiguration. |
Максимальная длина очереди |
Атрибут |
Свойство MaxQueueLength класса DataCacheNotificationProperties. |
Параметры безопасности
В файле конфигурации приложения свойства безопасности задаются в элементе securityProperties
, который является дочерним по отношению к элементу dataCacheClient
. Программным образом свойства безопасности настраиваются с помощью экземпляра класса DataCacheFactoryConfiguration, который передается в конструктор класса DataCacheFactory. Дополнительные сведения см. в разделе Методы настройки.
Параметр | Расположение конфигурации XML | Расположение конфигурации кода |
---|---|---|
Режим |
Атрибут |
Свойство SecurityMode класса DataCacheSecurity. Возможны значения None и Transport. Затем объект DataCacheSecurity назначается свойству SecurityProperties класса DataCacheFactoryConfiguration. |
Уровень защиты |
Атрибут |
Свойство ProtectionLevel класса DataCacheSecurity. Возможны значения None, Sign и EncryptAndSign. |
Параметры транспорта
В файле конфигурации приложения свойства транспорта задаются в элементе transportProperties
, который является дочерним по отношению к элементу dataCacheClient
. Программным образом свойства транспорта настраиваются с помощью экземпляра класса DataCacheFactoryConfiguration, который передается в конструктор класса DataCacheFactory. Дополнительные сведения см. в разделе Методы настройки.
Параметр | Расположение конфигурации XML | Расположение конфигурации кода |
---|---|---|
Размер буфера подключения (в байтах) |
Атрибут |
Свойство ConnectionBufferSize класса DataCacheTransportProperties. Затем оно назначается свойству TransportProperties класса DataCacheFactoryConfiguration. |
Максимальный размер буферного пула (в байтах) |
Атрибут |
Свойство MaxBufferPoolSize класса DataCacheTransportProperties. |
Максимальный размер буфера (в байтах) |
Атрибут |
Свойство MaxBufferSize класса DataCacheTransportProperties. |
Максимальная задержка выходных данных (в миллисекундах) |
Атрибут |
Свойство MaxOutputDelay класса DataCacheTransportProperties. |
Время ожидания инициализации канала (в миллисекундах) |
Атрибут |
Свойство ChannelInitializationTimeout класса DataCacheTransportProperties. |
Время ожидания получения (в миллисекундах) |
Атрибут |
Свойство ReceiveTimeout класса DataCacheTransportProperties. |
Пример файла конфигурации приложения
Чтобы сборки AppFabric могли считывать элементы XML в файле конфигурации приложения, необходимо включить configSections
в качестве первого элемента в файл под тегом configuration
. В элемент configSections
необходимо включить один элемент section
, сопоставленный с элементом dataCacheClient
.
В следующем примере показан файл конфигурации приложения, в котором используются многие из параметров конфигурации клиента кэша, рассмотренные в этом разделе. Важно отметить, что для подключения к кластеру необходим только элемент hosts
в dataCacheClient
. Все остальные дочерние элементы имеют значения по умолчанию.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>
<!-- required to read the <dataCacheClient> element -->
<section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>
</configSections>
<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="300" maxQueueLength="10000"/>
<hosts>
<host name="CacheServer1" cachePort="22233"/>
<host name="CacheServer2" cachePort="22233"/>
</hosts>
<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
</configuration>
См. также
Основные понятия
Настройка клиента кэша
Параметры конфигурации кластера
Устранение неполадок функций кэширования AppFabric
Использование Windows PowerShell для управления компонентами кэширования в AppFabric 1.1
Основные принципы кэширования AppFabric (кэширование в AppFabric 1.1)
Разработка клиента кэша
2012-03-05