Настройка активной георепликации для экземпляров Кэша Azure для Redis уровня "Корпоративный"
Из этой статьи вы узнаете, как настроить кэш с активной георепликацией с помощью портала Azure.
При активной георепликации до пяти экземпляров Кэша Azure для Redis уровня «Корпоративный» группируются в один кэш, охватывающий несколько регионов Azure. Все экземпляры действуют как локальные первичные кэши. Приложение определяет, какие экземпляры следует использовать для запросов на чтение и запись.
Примечание
Плата за передачу данных между регионами Azure будет взиматься по стандартному тарифу на пропускную способность.
Область доступности
Уровень | "Базовый", "Стандартный" | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Доступно | Нет | Нет | Да |
Уровень "Премиум" Кэш Azure для Redis предлагает версию георепликации, называемую пассивной георепликацией. Пассивная георепликация обеспечивает конфигурацию "активный — пассивный".
Предварительные требования к активной георепликации
При использовании активной георепликации существует несколько ограничений.
- Поддерживаются только модули RediSearch и RedisJSON .
- На уровне Enterprise Flash можно использовать только политику вытеснения без вытеснения . Все политики вытеснения поддерживаются на уровне "Корпоративный ".
- Сохраняемость данных не поддерживается, так как активная георепликация обеспечивает превосходные возможности.
- Вы не можете добавить существующий (то есть работающий) кэш в группу георепликации. Кэш можно добавить в группу георепликации только при создании кэша.
- Все кэши в группе георепликации должны иметь одинаковую конфигурацию. Например, все кэши должны иметь одинаковый номер SKU, емкость, политику вытеснения, политику кластеризация, модули и параметр TLS.
- Команды и
FLUSHDB
Redis нельзя использоватьFLUSHALL
при использовании активной георепликации. Запрет команд предотвращает непреднамеренное удаление данных. Вместо этого используйте операцию уровня управления очисткой .
Создание или присоединение группы активной георепликации
При создании нового ресурса Кэша Azure для Redis выберите вкладку Дополнительно. Заполните первую часть формы, включая политику кластеризации. Дополнительные сведения о выборе политики кластеризации см. в разделе Политика кластеризации.
Нажмите кнопку Настроить, чтобы настроить активную георепликацию.
Создайте новую группу репликации для первого экземпляра кэша. Или выберите существующую из списка.
Нажмите кнопку Настроить, чтобы завершить процесс.
Дождитесь успешного создания первого кэша. После завершения вы увидите Настроено для Активной георепликации. Повторите описанные выше шаги для каждого экземпляра кэша в группе георепликации.
Удаление из группы активной георепликации
Чтобы удалить экземпляр кэша из группы активной георепликации, просто удалите его. Затем остальные экземпляры перенастраивают себя автоматически.
Принудительная отмена связи в случае сбоя региона
Если один из кэшей в группе репликации недоступен из-за сбоя региона, можно принудительно удалить недоступный кэш из группы репликации.
Недоступный кэш следует удалить, так как оставшиеся в группе репликации кэши начнут хранить метаданные, которые не поступят в недоступный кэш. В подобном случае доступные кэши в группе репликации могут столкнуться с нехваткой памяти.
Перейдите на портал Azure и выберите в группе репликации один из доступных кэшей.
В меню ресурсов слева выберите Активная георепликация, чтобы просмотреть параметры в рабочей области.
Выберите кэш, связь с которым требуется принудительно отменить, установив флажок.
Выберите Принудительная отмена связи и нажмите ОК для подтверждения.
Когда доступность региона восстановится, нужно будет удалить его кэш и повторно создать его, чтобы снова добавить в группу репликации.
Настройка активной георепликации с помощью 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.