Настройка глобального распределения Azure Cosmos DB с помощью API для таблиц

ПРИМЕНИМО К: Таблица

В этой статье рассматриваются следующие задачи:

  • настроили глобальное распределение на портале Azure;
  • Настройка глобального распределения с помощью API для таблицы

Добавление регионов глобальной базы данных с помощью портала Azure

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

  1. На левой панели на портале Azure щелкните Azure Cosmos DB.

  2. На странице Azure Cosmos DB выберите учетную запись базы данных, которую нужно изменить.

  3. На странице учетной записи в меню щелкните Глобальная репликация данных.

  4. На странице Глобальная репликация данных выберите регионы для добавления или удаления, щелкнув их на карте, и нажмите кнопку Сохранить. Добавление регионов оплачивается. Дополнительные сведения см. на странице цен или в руководстве по глобальному распространению данных с помощью Azure Cosmos DB.

    Можно щелкать регионы на карте, чтобы добавить или удалить их.

Когда вы добавите второй регион, на портале на странице Глобальная репликация данных активируется параметр Ручная отработка отказа. Этот параметр можно использовать для тестирования отработки отказа или изменения основного региона записи. После добавления третьего региона на той же странице активируется параметр Приоритеты при отработке отказа. Он позволяет изменить порядок отработки отказов для операций чтения.

Выбор регионов глобальной базы данных

Существуют два распространенных сценария настройки нескольких регионов:

  1. Обеспечение низкой задержки при обращении пользователей к данным по всему миру не зависимо от расположения.
  2. Добавление региональной устойчивости для непрерывности бизнес-процессов и аварийного восстановления (BCDR)

Чтобы обеспечить низкую задержку для пользователей, мы советуем развернуть приложение и Azure Cosmos DB в регионы, соответствующие расположению пользователей приложения.

Для BCDR мы рекомендуем добавлять регионы исходя из пар регионов, описанных в статье Репликация между регионами в Azure. Непрерывность бизнес-процессов и аварийное восстановление.

Подключение к предпочтительному региону с помощью API для таблицы

Чтобы воспользоваться преимуществами глобального распределения, клиентские приложения должны указать текущее расположение, в котором выполняется приложение. Это можно сделать, задав свойство CosmosExecutorConfiguration.CurrentRegion. Свойство CurrentRegion должно содержать одно расположение. Каждый экземпляр клиента может указывать собственный регион для чтения с минимальной задержкой. Региону необходимо присвоить имя, используя их отображаемые имена например "Западная часть США".

Пакет SDK azure Cosmos DB для таблиц автоматически выбирает оптимальную конечную точку для взаимодействия с учетом конфигурации учетной записи и текущей доступности в регионе. Он назначает приоритет для ближайшего региона, чтобы обеспечить минимальную задержку для клиентов. После задания текущего свойства CurrentRegion запросы на чтение и запись направляются следующим образом:

  • Запросы на чтение: все запросы на чтение отправляются в настроенный CurrentRegion. В зависимости от сходства пакет SDK автоматически выбирает резервный геореплицированный регион для обеспечения высокого уровня доступности.

  • Запросы на запись: пакет SDK автоматически отправляет все запросы на запись в текущий регион записи. В учетной записи с выполнением операций записи в нескольких регионах текущий регион также будет обслуживать запросы на запись. В зависимости от сходства пакет SDK автоматически выбирает резервный геореплицированный регион для обеспечения высокого уровня доступности.

Если не указать свойство CurrentRegion, пакет SDK будет использовать текущий регион записи для всех операций.

Например, если учетная запись Azure Cosmos DB находится в регионах "Западная часть США" и "Восточная часть США". Если "Западная часть США" — регион записи, а приложение — "Восточная часть США". Если свойство CurrentRegion не настроено, все запросы на чтение и запись всегда направляются в регион "Западная часть США". Если настроено свойство CurrentRegion, все запросы на чтение обслуживаются в регионе "Восточная часть США".

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

В этом руководстве вы выполнили следующее:

  • настроили глобальное распределение на портале Azure;
  • настроили глобальное распределение с помощью API таблиц в Azure Cosmos DB.