Включение георепликации

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

Дополнительные сведения о концепции георепликации см. в разделе Георепликация в Конфигурации приложений Azure.

Необходимые компоненты

Создание и отображение реплики

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

Примечание.

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

  1. В хранилище конфигураций приложений в разделе Параметры выберите Георепликация.

  2. В разделе Реплики выберите Создать. Выберите расположение для новой реплики в раскрывающемся списке, а затем назначьте имя для реплики. Имя реплики должно быть уникальным.

    Снимок экрана: выделена кнопка георепликации, а также кнопка создания для реплики.

  3. Нажмите кнопку создания.

  4. Теперь новая реплика должна отображаться в разделе "Реплики". Убедитесь, что состояние реплики — "Выполнено", что указывает на успешное создание реплики.

    Снимок экрана: список реплик, созданных для хранилища конфигураций.

Удаление реплики

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

  1. В хранилище конфигураций приложений в разделе Параметры выберите Георепликация.

  2. В разделе Реплики выберите ... справа от реплики, которую требуется удалить. Выберите Удалить в раскрывающемся меню.

     Снимок экрана: нажатие кнопки с тремя точками справа от реплики для отображения команды удаления.

  3. Проверьте имя удаляемой реплики и нажмите кнопку ОК, чтобы подтвердить.

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

Масштабирование и отработка отказа с помощью реплика

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

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

Если у вас есть приложение с помощью Конфигурация приложений Azure, его можно обновить в следующем примере кода, чтобы воспользоваться преимуществами функции отработки отказа. Можно указать список конечных точек для проверки подлинности Microsoft Entra или список строка подключения для проверки подлинности на основе ключа доступа.

Измените вызов AddAzureAppConfiguration метода, который часто находится в program.cs файле приложения.

Подключение с идентификатором Microsoft Entra

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica endpoints
    var endpoints = new Uri[] {
        new Uri("<first-replica-endpoint>"),
        new Uri("<second-replica-endpoint>") };
    
    // Connect to replica endpoints using Microsoft Entra authentication
    options.Connect(endpoints, new DefaultAzureCredential());

    // Other changes to options
});

Подключение со строкой Подключение ion

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica connection strings
    var connectionStrings = new string[] {
        Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
        Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
    
    // Connect to replica endpoints using connection strings
    options.Connect(connectionStrings);

    // Other changes to options
});

Примечание.

Поддержка отработки отказа доступна, если вы используете версию 6.0.0 или более позднюю версию любого из следующих пакетов.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Отработка отказа может произойти, если поставщик Конфигурации приложений соблюдает следующие условия.

  • Получает ответы со статусом недоступности службы (код состояния HTTP 500 или больше).
  • Решения проблем с подключением к сети.
  • Запросы регулируются (код состояния HTTP 429).

Отработка отказа не произойдет при ошибках клиента, таких как сбои проверки подлинности.

Автоматическое обнаружение реплика

Можно указать одну или несколько конечных точек гео-реплика хранилища Конфигурация приложений, к которому требуется подключить или отработку отказа приложения. Однако если ни одна из этих конечных точек не доступна, библиотеки поставщиков Конфигурация приложений могут автоматически обнаруживать любые дополнительные реплика и пытаться подключиться к ним. Эта функция позволяет воспользоваться гео-реплика tion, не изменив код или повторно разверните приложение. Это означает, что вы можете включить геоза реплика или добавить дополнительные реплика даже после развертывания приложения.

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

Измените вызов AddAzureAppConfiguration метода, который часто находится в program.cs файле приложения.

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Disable automatic replica discovery
    options.ReplicaDiscoveryEnabled = false;

    // Other changes to options
});

Примечание.

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

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Следующие шаги