Настройка глобального распределения Azure Cosmos DB с помощью API таблицыSet up Azure Cosmos DB global distribution using the Table API

В этой статье рассматриваются следующие задачи:This article covers the following tasks:

  • настроили глобальное распределение на портале Azure;Configure global distribution using the Azure portal
  • настройка глобального распределения с помощью API таблицы.Configure global distribution using the Table API

Добавление регионов глобальной базы данных с помощью портала AzureAdd global database regions using the Azure portal

Служба Azure Cosmos DB доступна во всех регионах Azure по всему миру.Azure Cosmos DB is available in all Azure regions worldwide. После выбора уровня согласованности по умолчанию для учетной записи базы данных вы можете связать один или несколько регионов (в зависимости от выбранного уровня согласованности по умолчанию и потребностей глобального распространения).After selecting the default consistency level for your database account, you can associate one or more regions (depending on your choice of default consistency level and global distribution needs).

  1. На левой панели на портале Azure щелкните Azure Cosmos DB.In the Azure portal, in the left bar, click Azure Cosmos DB.

  2. На странице Azure Cosmos DB выберите учетную запись базы данных, которую нужно изменить.In the Azure Cosmos DB page, select the database account to modify.

  3. На странице учетной записи щелкните в меню Глобальная репликация данных.In the account page, click Replicate data globally from the menu.

  4. На странице Глобальная репликация данных выберите регионы для добавления или удаления, щелкнув их на карте, и нажмите кнопку Сохранить.In the Replicate data globally page, select the regions to add or remove by clicking regions in the map, and then click Save. Добавление регионов оплачивается. Дополнительные сведения см. на странице цен или в руководстве по глобальному распространению данных с помощью Azure Cosmos DB.There is a cost to adding regions, see the pricing page or the Distribute data globally with Azure Cosmos DB article for more information.

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

Когда вы добавите второй регион, на портале на странице Глобальная репликация данных активируется параметр Ручная отработка отказа.Once you add a second region, the Manual Failover option is enabled on the Replicate data globally page in the portal. Этот параметр можно использовать для тестирования отработки отказа или изменения основного региона записи.You can use this option to test the failover process or change the primary write region. После добавления третьего региона на той же странице активируется параметр Приоритеты при отработке отказа. Он позволяет изменить порядок отработки отказов для операций чтения.Once you add a third region, the Failover Priorities option is enabled on the same page so that you can change the failover order for reads.

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

Существуют два распространенных сценария настройки нескольких регионов:There are two common scenarios for configuring two or more regions:

  1. Обеспечение низкой задержки при обращении пользователей к данным по всему миру не зависимо от расположения.Delivering low-latency access to data to end users no matter where they are located around the globe
  2. Добавление региональной устойчивости для непрерывности бизнес-процессов и аварийного восстановления (BCDR)Adding regional resiliency for business continuity and disaster recovery (BCDR)

Чтобы обеспечить низкую задержку для пользователей, мы советуем развернуть приложение и Azure Cosmos DB в регионы, соответствующие расположению пользователей приложения.For delivering low-latency to end users, it is recommended that you deploy both the application and Azure Cosmos DB in the regions that correspond to where the application's users are located.

Для BCDR мы рекомендуем добавлять регионы исходя из пар регионов, описанных в статье Непрерывность бизнес-процессов и аварийное восстановление в службах BizTalk: пары регионов Azure.For BCDR, it is recommended to add regions based on the region pairs described in the Business continuity and disaster recovery (BCDR): Azure Paired Regions article.

Подключение к предпочтительному региону с помощью API таблицыConnecting to a preferred region using the Table API

Чтобы воспользоваться преимуществами глобального распределения, клиентские приложения должны указать текущее расположение, в котором выполняется приложение.In order to take advantage of the global distribution, client applications should specify the current location where their application is running. Это можно сделать, задав свойство CosmosExecutorConfiguration.CurrentRegion.This is done by setting the CosmosExecutorConfiguration.CurrentRegion property. Свойство CurrentRegion должно содержать одно расположение.The CurrentRegion property should contain a single location. Каждый экземпляр клиента может указывать собственный регион для чтения с минимальной задержкой.Each client instance can specify their own region for low latency reads. Региону необходимо присвоить имя, используя их отображаемые имена например "Западная часть США".The region must be named by using their display names such as "West US".

Пакет SDK для API таблиц в Azure Cosmos DB автоматически выбирает лучшую конечную точку для взаимодействия на основе конфигурации учетной записи и текущей доступности региона.The Azure Cosmos DB Table API SDK automatically picks the best endpoint to communicate with based on the account configuration and current regional availability. Он назначает приоритет для ближайшего региона, чтобы обеспечить минимальную задержку для клиентов.It prioritizes the closest region to provide better latency to clients. После задания текущего свойства CurrentRegion запросы на чтение и запись направляются следующим образом:After you set the current CurrentRegion property, read and write requests are directed as follows:

  • Запросы на чтение: все запросы на чтение отправляются в настроенный CurrentRegion.Read requests: All read requests are sent to the configured CurrentRegion. В зависимости от сходства пакет SDK автоматически выбирает резервный геореплицированный регион для обеспечения высокого уровня доступности.Based on the proximity, the SDK automatically selects a fallback geo-replicated region for high availability.

  • Запросы на запись: пакет SDK автоматически отправляет все запросы на запись в текущий регион записи.Write requests: The SDK automatically sends all write requests to the current write region. В учетной записи с несколькими источниками текущий регион также будет обслуживать запросы на запись.In a multi master account, current region will serve the writes requests as well. В зависимости от сходства пакет SDK автоматически выбирает резервный геореплицированный регион для обеспечения высокого уровня доступности.Based on the proximity, the SDK automatically selects a fallback geo-replicated region for high availability.

Если не указать свойство CurrentRegion, пакет SDK будет использовать текущий регион записи для всех операций.If you don't specify the CurrentRegion property, the SDK uses the current write region for all operations.

Например, если учетная запись Azure Cosmos находится в регионах "Западная часть США" и "Восточная часть США".For example, if an Azure Cosmos account is in "West US" and "East US" regions. Если "Западная часть США" — регион записи, а приложение — "Восточная часть США".If "West US" is the write region and the application is present in "East US". Если свойство CurrentRegion не настроено, все запросы на чтение и запись всегда направляются в регион "Западная часть США".If the CurrentRegion property is not configured, all the read and write requests are always directed to the "West US" region. Если настроено свойство CurrentRegion, все запросы на чтение обслуживаются в регионе "Восточная часть США".If the CurrentRegion property is configured, all the read requests are served from "East US" region.

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

В этом руководстве вы выполнили следующее:In this tutorial, you've done the following:

  • настроили глобальное распределение на портале Azure;Configure global distribution using the Azure portal
  • настроили глобальное распределение с помощью API таблиц в Azure Cosmos DB.Configure global distribution using the Azure Cosmos DB Table APIs