Procedura di configurazione della distribuzione globale in Azure Cosmos DB usando l'API TableHow to setup Azure Cosmos DB global distribution using the Table API

Questo articolo illustra le attività seguenti:This article covers the following tasks:

  • Configurare la distribuzione globale tramite il portale di AzureConfigure global distribution using the Azure portal
  • Configurare la distribuzione globale tramite l'API TableConfigure global distribution using the Table API

In questo video di Azure Friday, con Scott Hanselman e Karthik Raman, Principal Engineering Manager, sono disponibili altre informazioni sulla distribuzione globale in Azure Cosmos DB.You can learn about Azure Cosmos DB global distribution in this Azure Friday video with Scott Hanselman and Principal Engineering Manager Karthik Raman.

Per informazioni sul funzionamento della replica di database globale in Azure Cosmos DB, vedere Distribuire i dati a livello globale con Azure Cosmos DB.For more information about how global database replication works in Azure Cosmos DB, see Distribute data globally with Cosmos DB.

Aggiungere aree di database globali tramite il portale di AzureAdd global database regions using the Azure Portal

Azure Cosmos DB è disponibile in tutte le aree di Azure del mondo.Azure Cosmos DB is available in all Azure regions world-wide. Dopo aver selezionato il livello di coerenza predefinito per l'account di database, è possibile associare una o più aree, a seconda del livello di coerenza predefinito e delle esigenze di distribuzione globale scelti.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. Nella barra a sinistra del portale di Azure fare clic su Azure Cosmos DB.In the Azure portal, in the left bar, click Azure Cosmos DB.
  2. Nel pannello Azure Cosmos DB selezionare l'account di database da modificare.In the Azure Cosmos DB blade, select the database account to modify.
  3. Nel pannello dell'account fare clic su Replica i dati a livello globale dal menu.In the account blade, click Replicate data globally from the menu.
  4. Nel pannello Replica i dati a livello globale selezionare le aree da aggiungere o rimuovere facendo clic su di esse nella mappa e quindi scegliere Salva.In the Replicate data globally blade, select the regions to add or remove by clicking regions in the map, and then click Save. L'aggiunta di aree ha un costo. Per altre informazioni, vedere la pagina relativa ai prezzi o l'articolo Distribuire i dati a livello globale con 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.

    Fare clic sulle aree nella mappa per aggiungerle o rimuoverle

Dopo l'aggiunta di una seconda area, nel pannello Replica i dati a livello globale del portale viene abilitata l'opzione Failover manuale.Once you add a second region, the Manual Failover option is enabled on the Replicate data globally blade in the portal. È possibile usare questa opzione per testare il processo di failover o per modificare l'area di scrittura primaria.You can use this option to test the failover process or change the primary write region. Dopo avere aggiunto una terza area, l'opzione Priorità di failover viene abilitata nello stesso pannello per poter modificare l'ordine di failover per le operazioni di lettura.Once you add a third region, the Failover Priorities option is enabled on the same blade so that you can change the failover order for reads.

Selezionare aree di database globaliSelecting global database regions

Esistono due scenari comuni per la configurazione di due o più aree:There are two common scenarios for configuring two or more regions:

  1. Offerta di accesso con bassa latenza ai dati indipendentemente dalla posizione del mondo in cui si trovano gli utenti finaliDelivering low-latency access to data to end users no matter where they are located around the globe
  2. Aggiunta di resilienza a livello di area per garantire continuità aziendale e ripristino di emergenza (BCDR)Adding regional resiliency for business continuity and disaster recovery (BCDR)

Per offrire l'accesso con bassa latenza agli utenti finali, è consigliabile distribuire l'applicazione e aggiungere Azure Cosmos DB nelle aree corrispondenti alla località in cui si trovano gli utenti dell'applicazione.For delivering low-latency to end-users, it is recommended to deploy both the application and add Azure Cosmos DB in the regions thats correspond to where the application's users are located.

Per finalità BCDR, è consigliabile aggiungere le aree in base alle coppie di aree descritte nell'articolo Continuità aziendale e ripristino di emergenza nelle aree geografiche abbinate di 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.

Connessione a un'area preferita tramite l'API TableConnecting to a preferred region using the Table API

Per sfruttare la distribuzione globale, le applicazioni client possono specificare un elenco di aree, nell'ordine preferito, da usare per eseguire operazioni sui documenti.In order to take advantage of global distribution, client applications can specify the ordered preference list of regions to be used to perform document operations. Questa operazione può essere eseguita impostando il valore di configurazione TablePreferredLocations in app.config per Azure Cosmos DB Table API SDK.This can be done by setting the TablePreferredLocations configuration value in the app.config for the Azure Cosmos DB Table API SDK. Azure Cosmos DB Table API SDK seleziona l'endpoint che garantisce la comunicazione più agevole in base alla configurazione degli account, alla disponibilità di aree corrente e all'elenco delle preferenze specificato.The Azure Cosmos DB Table API SDK will pick the best endpoint to communicate with based on the account configuration, current regional availability and the supplied preference list.

TablePreferredLocations deve contenere un elenco delimitato da virgole di percorsi preferiti (multihoming) per le letture.The TablePreferredLocations should contain a comma-separated list of preferred (multi-homing) locations for reads. Ogni istanza del client può specificare un sottoinsieme di queste aree nell'ordine preferito per le letture a bassa latenza.Each client instance can specify a subset of these regions in the preferred order for low latency reads. Le aree devono essere denominate usando i nomi visualizzati, ad esempio, West US.The regions must be named using their display names, for example, West US.

Tutte le letture vengono inviate alla prima area disponibile nell'elenco TablePreferredLocations.All reads are sent to the first available region in the TablePreferredLocations list. Se la richiesta ha esito negativo, il client trasferisce l'elenco all'area successiva e così via.If the request fails, the client will fail down the list to the next region, and so on.

L'SDK tenta solo di leggere dalle aree specificate nell'elenco TablePreferredLocations.The SDK attempts to read from the regions specified in TablePreferredLocations. Quindi se l'account di database è disponibile ad esempio in tre aree, ma il client specifica solo due delle aree di non scrittura per TablePreferredLocations, le letture non verranno distribuite fuori dall'area di scrittura, anche in caso di failover.So, for example, if the Database Account is available in three regions, but the client only specifies two of the non-write regions for TablePreferredLocations, then no reads will be served out of the write region, even in the case of failover.

L'SDK invia automaticamente tutte le scritture all'area di scrittura corrente.The SDK will automatically send all writes to the current write region.

Se la proprietà TablePreferredLocations non è impostata, tutte le richieste verranno distribuite dall'area di scrittura corrente.If the TablePreferredLocations property is not set, all requests will be served from the current write region.

    <appSettings>
      <add key="TablePreferredLocations" value="East US, West US, North Europe"/>           
    </appSettings>

L'esercitazione è terminata.That's it, that completes this tutorial. Per informazioni su come gestire la coerenza dell'account con replica globale, vedere Livelli di coerenza in Azure Cosmos DB.You can learn how to manage the consistency of your globally replicated account by reading Consistency levels in Azure Cosmos DB. Per informazioni sul funzionamento della replica di database globale in Azure Cosmos DB, vedere Distribuire i dati a livello globale con Azure Cosmos DB.And for more information about how global database replication works in Azure Cosmos DB, see Distribute data globally with Azure Cosmos DB.

Passaggi successiviNext steps

In questa esercitazione sono state eseguite le operazioni seguenti:In this tutorial, you've done the following:

  • Configurare la distribuzione globale tramite il portale di AzureConfigure global distribution using the Azure portal
  • Configurare la distribuzione globale tramite le API Table di Azure Cosmos DBConfigure global distribution using the Azure Cosmos DB Table APIs