Экспорт (0) Печать
Развернуть все

Высокий уровень доступности (кэш на основе ролей для Кэша Azure)

Обновлено: Июль 2010 г.

Кэш в роли позволяет поддерживать высокий уровень доступности для кэшированных объектов. Используйте свойства роли для включения высокого уровня доступности для каждого кэша, где он нужен. Изменять код не требуется, достаточно пересчитать необходимый для рабочей нагрузки объем памяти. Это можно сделать, включив параметр высокого уровня доступности в таблице по планированию емкости. Дополнительные сведения см. в разделе Рекомендации по планированию емкости кэша на основе ролей (Кэш Azure).

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

noteПримечание
Высокий уровень доступности не поддерживается для Shared Caching.

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

Чтобы обеспечить высокий уровень доступности, все операции записи в кэше проводятся и над основной, и над дополнительной копией.

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

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

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

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

Если экземпляр становится недоступен, вскоре дополнительные копии назначаются основными и обновляются данные маршрутизации. В это время клиенты получают исключения DataCacheException, где значение ErrorCode равно RetryLater. Приложениям Кэш в роли следует использовать обычную обработку ошибок для реакции на подобную ситуацию.

Так как все операции записи выполняются в основной и дополнительной копии, высокий уровень доступности ведет к увеличению задержек и снижению пропускной способности. Это может быть разумный компромисс, если высокий уровень доступности действительно полезен для кэша.

ImportantВажно!
По определению при использовании функции высокого уровня доступности объем памяти, необходимый для каждого кэшированного элемента, возрастает в два раза. Учитывайте это увеличение объема при планировании загрузки приложений. Дополнительные сведения см. в разделе Рекомендации по планированию емкости кэша на основе ролей (Кэш Azure).

  1. Дважды щелкните роль, где включен Кэш в роли.

  2. На вкладке Конфигурация убедитесь, что Число экземпляров — 4 или больше.

  3. На вкладке Caching установите флажок Высокий уровень доступности для нужного кэша. На следующем снимке экрана показан флажок Высокий уровень доступности, включенный для двух кэшей из трех.

См. также

Показ:
© 2014 Microsoft