Настройка активной георепликации для экземпляров Кэша Azure для Redis уровня "Корпоративный"

Из этой статьи вы узнаете, как настроить кэш с активной георепликацией с помощью портала Azure.

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

Примечание

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

Область доступности

Уровень "Базовый", "Стандартный" Premium Enterprise, Enterprise Flash
Доступно Нет Нет Да

Уровень "Премиум" Кэш Azure для Redis предлагает версию георепликации, называемую пассивной георепликацией. Пассивная георепликация обеспечивает конфигурацию "активный — пассивный".

Предварительные требования к активной георепликации

При использовании активной георепликации существует несколько ограничений.

  • Поддерживаются только модули RediSearch и RedisJSON .
  • На уровне Enterprise Flash можно использовать только политику вытеснения без вытеснения . Все политики вытеснения поддерживаются на уровне "Корпоративный ".
  • Сохраняемость данных не поддерживается, так как активная георепликация обеспечивает превосходные возможности.
  • Вы не можете добавить существующий (то есть работающий) кэш в группу георепликации. Кэш можно добавить в группу георепликации только при создании кэша.
  • Все кэши в группе георепликации должны иметь одинаковую конфигурацию. Например, все кэши должны иметь одинаковый номер SKU, емкость, политику вытеснения, политику кластеризация, модули и параметр TLS.
  • Команды и FLUSHDB Redis нельзя использовать FLUSHALL при использовании активной георепликации. Запрет команд предотвращает непреднамеренное удаление данных. Вместо этого используйте операцию уровня управления очисткой .

Создание или присоединение группы активной георепликации

  1. При создании нового ресурса Кэша Azure для Redis выберите вкладку Дополнительно. Заполните первую часть формы, включая политику кластеризации. Дополнительные сведения о выборе политики кластеризации см. в разделе Политика кластеризации.

  2. Нажмите кнопку Настроить, чтобы настроить активную георепликацию.

    Снимок экрана: дополнительная вкладка страницы создания кэша Redis.

  3. Создайте новую группу репликации для первого экземпляра кэша. Или выберите существующую из списка.

    Снимок экрана: группы репликации.

  4. Нажмите кнопку Настроить, чтобы завершить процесс.

  5. Дождитесь успешного создания первого кэша. После завершения вы увидите Настроено для Активной георепликации. Повторите описанные выше шаги для каждого экземпляра кэша в группе георепликации.

    Снимок экрана: настроенные группы активной георепликации.

Удаление из группы активной георепликации

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

Если один из кэшей в группе репликации недоступен из-за сбоя региона, можно принудительно удалить недоступный кэш из группы репликации.

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

  1. Перейдите на портал Azure и выберите в группе репликации один из доступных кэшей.

  2. В меню ресурсов слева выберите Активная георепликация, чтобы просмотреть параметры в рабочей области.

    Снимок экрана: группа активной георепликации.

  3. Выберите кэш, связь с которым требуется принудительно отменить, установив флажок.

  4. Выберите Принудительная отмена связи и нажмите ОК для подтверждения.

    Снимок экрана: отмена связи с группой активной георепликации.

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

Настройка активной георепликации с помощью Azure CLI или PowerShell

Azure CLI

Используйте Azure CLI для создания нового кэша и группы георепликации или добавления кэша в существующую группу георепликации. Дополнительные сведения см. в разделе az redisenterprise create.

Создание экземпляра уровня "Корпоративный" в новой группе георепликации с помощью Azure CLI

В этом примере создается новый экземпляр кэша уровня "Корпоративный" E10 в Кэше Azure для Redis с именем Cache1 в регионе "Восточная часть США". Затем кэш добавляется в новую группу активной георепликации replicationGroup:

az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"

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

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Создание нового экземпляра уровня "Корпоративный" в существующей группе георепликации с помощью Azure CLI

В этом примере создается новый экземпляр кэша enterprise E10 с именем Cache2 в регионе "Западная часть США". Затем скрипт добавляет кэш в активную группу replicationGroup георепликации, созданную в предыдущей процедуре. Таким образом, он связан в конфигурации "активный — активный" с Cache1.

az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"

Как и ранее, необходимо перечислить Cache1 и Cache2 с использованием параметра --linked-databases.

Azure PowerShell

PowerShell позволяет создать кэш и группу георепликации или добавить новый кэш в существующую группу георепликации. Дополнительные сведения см. в статье New-AzRedisEnterpriseCache.

Создание экземпляра уровня "Корпоративный" в новой группе георепликации с помощью PowerShell

В этом примере создается новый экземпляр кэша уровня "Корпоративный" E10 в Кэше Azure для Redis с именем Cache1 в регионе "Восточная часть США". Затем кэш добавляется в новую группу активной георепликации replicationGroup:

New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'

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

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Создание нового экземпляра уровня "Корпоративный" в существующей группе георепликации с помощью PowerShell

В этом примере создается новый экземпляр кэша enterprise E10 с именем Cache2 в регионе "Западная часть США". Затем скрипт добавляет кэш в группу активной георепликации replicationGroup, созданную в предыдущей процедуре. связывает два кэша, Cache1 и Cache2, в конфигурации "активный — активный".

New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'

Как и ранее, необходимо перечислить Cache1 и Cache2 с использованием параметра -LinkedDatabase.

Операция очистки

Из-за потенциальной случайной потери данных нельзя использовать FLUSHALL команды и FLUSHDB Redis с любым экземпляром кэша, находящимся в группе георепликации. Вместо этого используйте кнопку Очистка кэша, расположенную в верхней части рабочей области Активной георепликации .

Снимок экрана: выбранная в меню Ресурс активная георепликация, а для функции сброса кэша выделен красный прямоугольник.

Очистка кэшей с помощью Azure CLI или PowerShell

Azure CLI и PowerShell также можно использовать для запуска операции очистки. Дополнительные сведения об использовании Azure CLI см. в статье az redisenterprise database flush. Дополнительные сведения об использовании PowerShell см. в разделе Invoke-AzRedisEnterpriseCacheDatabaseFlush.

Важно!

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

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

Дальнейшие действия

Дополнительные сведения о функциях кэша Azure для Redis.