Condividi tramite


Come eseguire l'onboarding e implementare il failover automatico per partizione per Azure Cosmos DB

SI APPLICA A: NoSQL

Questo articolo illustra come configurare il failover automatico per partizione nell'account Azure Cosmos DB.

Importante

Il failover automatico per partizione è disponibile in anteprima pubblica. Questa funzionalità viene fornita senza un contratto di servizio. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Il failover automatico per partizione è una nuova funzionalità di Azure Cosmos DB (attualmente in anteprima pubblica) che migliora la disponibilità per gli account con area di scrittura singola. Invece di eseguire il failover di un intero account di database durante un'interruzione a livello di area, Cosmos DB può eseguire automaticamente il failover a livello di partizione, riducendo al minimo i tempi di inattività e un ripristino più rapido.

Prerequisiti

Prima di abilitare PPAF, assicurarsi che l'ambiente soddisfi i prerequisiti seguenti:

  • Account in più aree: account area di scrittura singola con almeno un'altra area di lettura configurata.
  • Modello di coerenza: Nella versione attuale di anteprima, sono supportate la coerenza forte, la coerenza di sessione, il prefisso coerente o la coerenza finale.
  • Tipo di API: L'account deve usare l'API Core (SQL) (API NoSQL).
  • Area di Azure: L'account deve trovarsi nelle aree del cloud pubblico di Azure (Azure globale). Gli account nei cloud sovrani non sono idonei durante la fase di anteprima.
  • Versione SDK: L'applicazione deve usare un SDK di Azure Cosmos DB supportato più recente che implementa la logica PPAF. Attualmente, l'anteprima supporta:
    • .NET SDK v3 : v 3.54.0 o versione successiva
    • Java SDK: v 4.75.0 o versione successiva
  • Ripristino nell'account: non è supportato per gli account con PPAF abilitato.

Registrarsi per l'anteprima

Per abilitare questa funzionalità, iscriversi alla funzionalità di anteprima Anteprima failover automatico per partizione nella sottoscrizione. Per altre informazioni, vedere Registrarsi per una funzionalità di anteprima di Azure Cosmos DB.

Il team di Azure Cosmos DB esamina la richiesta e abilita la funzionalità al momento della convalida dei prerequisiti. Quando la funzionalità è abilitata, si riceve un messaggio di posta elettronica. È anche possibile contattare cosmosdbppafpreview@microsoft.com se si hanno domande sull'onboarding.

Prezzi PPAF

PPAF fa parte del livello di servizio Business Critical e viene addebitato di conseguenza. Per altre informazioni, vedere Prezzi di Azure Cosmos DB.

Configurare l'applicazione per PPAF

La configurazione dell'SDK di Cosmos DB dell'applicazione è fondamentale in modo che sappia gestire i failover a livello di partizione.

  • Aggiornare l'SDK: Assicurarsi che l'app esegua la versione più recente dell'SDK che supporti PPAF (come indicato nei prerequisiti).
  • Configurare l'area secondaria: Verificare che l'account Azure Cosmos DB abbia almeno 1 area secondaria.

Testare l'installazione PPAF (simulare guasto)

Con l'account e il client configurati, è prudente verificare che tutto funzioni come previsto prima che si verifichi un'interruzione reale. Azure Cosmos DB consente di simulare gli errori di partizione nell'anteprima per gli account abilitati per PPAF:

  • Chaos Simulation (anteprima): Viene rilasciata una versione di anteprima della funzionalità di gestione degli errori per PPAF tramite l'API REST. Per semplificare l'uso, viene fornito uno script di PowerShell per la gestione dell'errore.

    • Scaricare lo script EnableDisableChaosFault.ps1 su azurecosmosdb/ppaf-samples.
    • Avviare PowerShell e accedere alla sottoscrizione usando "az login".
    • Passare alla cartella con lo script di PowerShell e richiamare lo script con i parametri necessari per richiamare l'errore:
      • L'efficacia dell'errore potrebbe richiedere fino a 15 minuti.
      • L'errore diventa effettivo sul 10% delle partizioni totali per la raccolta specificata, con un massimo di 10 partizioni e almeno 1 partizione.
      .\EnableDisableChaosFault.ps1 -FaultType "PerPartitionAutomaticFailover" -ResourceGroup "{ResourceGroupName}" -AccountName "{DatabaseAccountName}" -DatabaseName "{DatabaseName}" -ContainerName "{CollectionName}"  -SubscriptionId "{SubscriptionId}" -Region "{PreferredWriteRegion}" -Enable
      
  • Test dell'applicazione: Testare le transazioni critiche dell'applicazione durante il failover.

  • Metriche:

    • È possibile verificare il traffico nelle metriche del portale di Azure per l'account. Esaminare le metriche, ad esempio Richieste totali suddivise in base all'area. Durante la simulazione, dovresti vedere operazioni di scrittura che si verificano in un'area secondaria, confermando che il failover ha funzionato correttamente.
    • È stata introdotta una nuova metrica nota come PartitionWriteGlobalStatus che mostra il numero di partizioni di scrittura per un'area in qualsiasi momento. È anche possibile usare questa metrica per tenere traccia del numero di partizioni di cui è stato eseguito il failover a causa di un errore.
  • Disabilitare l'errore:

    • Passare alla cartella con lo script di PowerShell e richiamare lo script con i parametri necessari per richiamare l'errore:
      • Potrebbe essere necessario fino a 15 minuti per disabilitare l'errore.
      .\EnableDisableChaosFault.ps1 -FaultType "PerPartitionAutomaticFailover" -ResourceGroup "{ResourceGroupName}" -AccountName "{DatabaseAccountName}" -DatabaseName "{DatabaseName}" -ContainerName "{CollectionName}"  -SubscriptionId "{SubscriptionId}" -Region "{PreferredWriteRegion}" -Disable