Replica geografica del bus di servizio di Azure (anteprima)
La funzionalità di replica geografica del bus di servizio è una delle opzioni per isolare le applicazioni del bus di servizio di Azure da interruzioni ed emergenze, fornendo la replica sia di metadati (entità, configurazione, proprietà) che dati (dati del messaggio e proprietà del messaggio/modifiche dello stato).
Nota
Questa funzionalità è disponibile per il livello Premium del bus di servizio di Azure.
La funzionalità di replica geografica garantisce che i metadati e i dati di uno spazio dei nomi vengano replicati continuamente da un'area primaria a una o più aree secondarie.
- Code, argomenti, sottoscrizioni, filtri.
- Dati che si trovano nelle entità.
- Tutte le modifiche di stato e le modifiche alle proprietà eseguite sui messaggi all'interno di uno spazio dei nomi.
- Configurazione dello spazio dei nomi.
Nota
Attualmente è supportato solo un singolo secondario.
Questa funzionalità consente di promuovere qualsiasi area secondaria a primaria, in ogni momento. La promozione di un secondario fa riferimento al nome dello spazio dei nomi all'area secondaria selezionata e sposta i ruoli tra l'area primaria e quella secondaria. La promozione viene avviata quasi istantaneamente.
Importante
- Questa funzionalità è attualmente in anteprima pubblica e, di conseguenza, non deve essere utilizzata negli scenari di produzione.
- Le aree seguenti sono attualmente supportate nell'anteprima pubblica.
Paese | Paese | Paese |
---|---|---|
Australiacentrale | GermaniaNorth | NorvegiaWest |
AustraliaCentral2 | GermanyWestCentral | PoloniaCentral |
Australiaorientale | IsraeleCentral | SouthAfricaNorth |
Australiasud-orientale | ItaliaNorth | SouthAfricaWest |
BrasileSoutheast | JapanEast | SoutheastAsia |
CanadaCentral | JapanWest | SouthIndia |
Canadaorientale | JioIndiaCentral | SpagnaCentral |
CentralIndia | JioIndiaWest | SwedenCentral |
CentralUS | KoreaCentral | SwitzerlandNorth |
CentralUSEUAP | KoreaSouth | SwitzerlandWest |
EastAsia | MessicoCentral | Emirati Arabi UnitiCentral |
EastUS2 | NorthCentralUS | UAENorth |
FranceCentral | NorthEurope | UKSouth |
FranceSouth | NorwayEast | UKWest |
- Questa funzionalità è attualmente disponibile nei nuovi spazi dei nomi. Se questa funzionalità era abilitata in precedenza per uno spazio dei nomi, può essere disabilitata (rimuovendo le aree secondarie) e riabilitata.
- Le seguenti funzionalità non sono attualmente supportate. Microsoft sta lavorando costantemente per introdurre altre funzionalità nell'anteprima pubblica e aggiornerà questo elenco con lo stato più recente.
- Ampio supporto per i messaggi.
- Funzionalità di rete virtuale/avanzate (endpoint privati, ACL IP, NSP, endpoint di servizio).
- Identità (MSI, disabilitare l'autenticazione locale) e impostazioni di crittografia (chiave gestita dal cliente (CMK) o crittografia BYOK (Bring Your Own Key)).
- Ridimensionamento automatico.
- Spazi dei nomi partizionati.
- Inviare eventi a Griglia di eventi.
- Questa funzionalità non può essere usata in combinazione con la funzionalità di ripristino di emergenza geografico del bus di servizio di Azure.
Scenari
La funzionalità di replica geografica può essere usata per implementare scenari diversi, come descritto qui.
Ripristino di emergenza
I dati e i metadati vengono sincronizzati continuamente tra le aree primarie e secondarie. Se un'area è in ritardo o non è disponibile, è possibile promuovere un'area secondaria come primaria. Tale promozione consente l'operazione ininterrotta dei carichi di lavoro nell'area appena promossa. Questa promozione può essere necessaria a causa della riduzione delle prestazioni del bus di servizio o di altri servizi all'interno del carico di lavoro, in particolare se si intende eseguire insieme i vari componenti. A seconda della gravità e dei servizi interessati, la promozione potrebbe essere pianificata o forzata. In caso di promozione pianificata i messaggi in transito vengono replicati prima di finalizzare la promozione, mentre in caso di promozione forzata questa viene eseguita immediatamente.
Migrazione dell'area
In alcuni casi si vuole eseguire la migrazione dei carichi di lavoro del bus di servizio da eseguire in un'area diversa. Ad esempio, quando Azure aggiunge una nuova area geograficamente più vicina alla posizione, agli utenti o ad altri servizi. In alternativa, è possibile eseguire la migrazione quando le aree in cui viene eseguita la maggior parte dei carichi di lavoro si spostano. Anche la funzionalità di replica geografica offre una buona soluzione in questi casi. In questo caso, è necessario configurare la replica geografica nello spazio dei nomi esistente con la nuova area desiderata come area secondaria e attendere il completamento della sincronizzazione. A questo punto, si avvia una promozione pianificata, consentendo la replica di eventuali messaggi in transito. Una volta completata la promozione, è possibile rimuovere l'area precedente, ora diventata l'area secondaria, continuando a eseguire i carichi di lavoro nell'area desiderata.
Concetti fondamentali
La funzionalità di replica geografica implementa metadati e replica dei dati all'interno di un modello di replica primaria-secondaria. In un determinato momento è presente una singola area primaria, che serve sia i produttori che i consumer. Le secondarie fungono da aree stand-by di accesso frequente, ovvero non è possibile interagire con queste aree secondarie. Tuttavia, vengono eseguite nella stessa configurazione dell'area primaria, consentendo una promozione rapida e ciò significa che i carichi di lavoro possono continuare l'esecuzione immediatamente dopo il completamento della promozione. La funzionalità di replica geografica è disponibile per il livello Premium.
Alcuni degli aspetti chiave della funzionalità di replica geografica sono:
- I servizi del bus di servizio eseguono la replica completamente gestita dei metadati, dei dati dei messaggi e delle modifiche delle proprietà e dello stato dei messaggi in tutte le aree che aderiscono alla coerenza di replica configurata nello spazio dei nomi.
- Nome host singolo spazio dei nomi; Al termine della configurazione di uno spazio dei nomi abilitato per la replica geografica, gli utenti possono utilizzare il nome host dello spazio dei nomi nell'applicazione client. Il nome host si comporta in modo indipendente dalle aree primarie e secondarie configurate e punta sempre all'area primaria.
- Quando un cliente avvia una promozione, il nome host punta all'area selezionata come nuova area primaria. La primaria precedente diventa un'area secondaria.
- Non è possibile leggere o scrivere nelle aree secondarie.
- Le modalità di replica sincrone e asincrone sono descritte più avanti qui.
- La promozione gestita dal cliente dall'area primaria all'area secondaria fornisce la proprietà completa e la visibilità per eseguire la risoluzione dell'interruzione. Sono disponibili metriche che consentono di automatizzare la promozione dal lato cliente.
- Le aree secondarie possono essere aggiunte o rimosse a discrezione del cliente.
Modalità di replica
Esistono due modalità di replica, sincrona e asincrona. È importante conoscere le differenze tra le due.
Replica asincrona
Usando la replica asincrona, viene eseguito il commit di tutte le richieste nella primaria, dopo il quale viene inviato un riconoscimento al client. La replica nelle aree secondarie avviene in modo asincrono. Gli utenti possono configurare la quantità massima di tempo di ritardo accettabile. Il tempo di ritardo rappresenta l'offset sul lato servizio tra l'azione più recente nelle aree primarie e secondarie. Se il ritardo per un'area secondaria attiva aumenta oltre la configurazione dell'utente, l'area primaria avvia la limitazione delle richieste in ingresso.
Replica sincrona
Usando la replica sincrona, tutte le richieste vengono replicate nell'area secondaria, che deve eseguire il commit e confermare l'operazione prima di eseguire il commit nella primaria. Di conseguenza, l'applicazione pubblica alla velocità necessaria a pubblicare, replicare, confermare ed eseguire il commit. Inoltre, ciò significa anche che l'applicazione è associata alla disponibilità di entrambe le aree. Se l'area secondaria ritarda o non è disponibile, i messaggi non verranno riconosciuti e sottoposti a commit e l'area primaria limiterà le richieste in ingresso.
Confronto tra modalità di replica
Con la replica sincrona:
- La latenza è più lunga a causa delle operazioni di commit distribuito.
- La disponibilità è associata a quella di due aree.
D'altra parte, la replica sincrona garantisce la massima sicurezza dei dati. Se si dispone di una replica sincrona, quando viene eseguito il commit, viene eseguito il commit in tutte le aree configurate per la replica geografica, offrendo la migliore garanzia dei dati.
Con la replica asincrona:
- La latenza subisce un impatto minimo.
- La perdita di un'area secondaria non influisce immediatamente sulla disponibilità. Tuttavia, la disponibilità viene influenzata dopo il raggiungimento del ritardo massimo di replica configurato.
Di conseguenza, non offre la garanzia assoluta che tutte le aree abbiano a disposizione i dati prima di eseguirne il commit, come avviene nella replica sincrona, dunque può verificarsi la perdita o la duplicazione dei dati. Tuttavia, poiché non si è più immediatamente interessati quando una singola area ritarda o non è disponibile, la disponibilità dell'applicazione migliora, oltre ad avere una latenza inferiore.
Funzionalità | Replica sincrona | Replica asincrona |
---|---|---|
Latenza | Più lunga a causa delle operazioni di commit distribuite | Impatto minimo |
Disponibilità | Associato alla disponibilità delle aree secondarie | La perdita di un'area secondaria non influisce immediatamente sulla disponibilità |
Coerenza dei dati | Dati sempre sottoposti a commit in entrambe le aree prima del riconoscimento | Commit dei dati nell'area primaria solo prima del riconoscimento |
Obiettivo punto di ripristino (RPO) | RPO 0, nessuna perdita di dati per la promozione | RPO > 0, possibile perdita di dati in caso di promozione |
La modalità di replica può essere modificata dopo la configurazione della replica geografica. È possibile passare da sincrona ad asincrona o da asincrona a sincrona. Se si passa da asincrona a sincrona, la secondaria sarà configurata come sincrona quando il ritardo raggiunge lo zero. Se, per qualsiasi motivo, il ritardo è continuo, potrebbe essere necessario sospendere i server di pubblicazione affinché il ritardo raggiunga lo zero e la modalità possa passare a quella sincrona. I motivi per cui è abilitata la replica sincrona, anziché asincrona, sono legati all'importanza dei dati, alle esigenze aziendali specifiche o a scopi di conformità, anziché alla disponibilità dell'applicazione.
Nota
Nel caso in cui un'area secondaria ritardi o non sia più disponibile, l'applicazione non sarà più in grado di replicare in quest'area e inizierà la limitazione dopo il raggiungimento del ritardo della replica. Per continuare a utilizzare lo spazio dei nomi nella posizione primaria, è possibile rimuovere l'area secondaria interessata. Se non sono configurate altre aree secondarie, lo spazio dei nomi proseguirà senza replica geografica abilitata. È possibile aggiungere altre aree secondarie in qualsiasi momento.
Selezione dell'area secondaria
Per abilitare la funzionalità di replica geografica, è necessario utilizzare le aree primarie e secondarie in cui è abilitata. La funzionalità di replica geografica dipende dalla possibilità di replicare i messaggi pubblicati dalle aree primarie a quelle secondarie. Se l'area secondaria si trova in un altro continente, ciò esercita un impatto significativo sul ritardo della replica dall'area primaria all'area secondaria. Se si utilizza la replica geografica per motivi di disponibilità, è preferibile che le aree secondarie si trovino almeno nello stesso continente, se possibile. Per comprendere meglio la latenza indotta dalla distanza geografica, è possibile ottenere altre informazioni dalle Statistiche sulla latenza round trip della rete di Azure.
Gestione della replica geografica
La funzionalità di replica geografica consente ai clienti di configurare un'area secondaria verso cui replicare metadati e dati. Di conseguenza, i clienti possono eseguire le seguenti attività di gestione:
- Configurare la replica geografica; Le aree secondarie possono essere configurate in qualsiasi spazio dei nomi nuovo o esistente in un'area con la funzionalità di replica geografica abilitata.
Nota
Attualmente nell'anteprima pubblica sono supportati solo i nuovi spazi dei nomi.
- Configurare la coerenza di replica: la replica sincrona e asincrona viene impostata quando è configurata la replica geografica, ma può anche essere modificata in seguito.
- Attivare la promozione; Tutte le promozioni vengono avviate dai clienti.
- Rimuovere una secondaria; Se in qualsiasi momento si vuole rimuovere un'area secondaria, è possibile eseguire tale operazione e i dati nell'area secondaria vengono eliminati.
Attrezzaggio
Con il portale di Azure
La sezione seguente offre una panoramica per configurare la funzionalità di replica geografica in un nuovo spazio dei nomi tramite il portale di Azure.
Nota
Questa esperienza potrebbe cambiare durante l'anteprima pubblica. Questo documento verrà aggiornato di conseguenza.
- Creare un nuovo spazio dei nomi di livello Premium.
- Selezionare la casella di controllo Abilita replica geografica nella sezione Replica (anteprima).
- Fare clic sul pulsante Aggiungi area secondaria e scegliere un'area.
- Selezionare la casella di controllo Replica sincrona oppure specificare un valore in secondi per il valore Replica asincrona - Ritardo di replica max.
Uso del modello Bicep
Per creare uno spazio dei nomi con la funzionalità Replica geografica abilitata, aggiungere la sezione delle proprietà geoDataReplication.
param serviceBusName string
param primaryLocation string
param secondaryLocation string
param maxReplicationLagInSeconds int
resource sb 'Microsoft.ServiceBus/namespaces@2023-01-01-preview' = {
name: serviceBusName
location: primaryLocation
sku: {
name: 'Premium'
tier: 'Premium'
capacity: 1
}
properties: {
geoDataReplication: {
maxReplicationLagDurationInSeconds: maxReplicationLagInSeconds
locations: [
{
locationName: primaryLocation
roleType: 'Primary'
}
{
locationName: secondaryLocation
roleType: 'Secondary'
}
]
}
}
}
Gestione
Dopo aver creato uno spazio dei nomi con la funzionalità di replica geografica abilitata, è possibile gestire la funzionalità dal pannello Replica (anteprima).
Cambiare la modalità di replica
Per passare da una modalità di replica all'altra o aggiornare il ritardo massimo di replica, fare clic sul collegamento in Coerenza di replica e selezionare la casella di controllo per abilitare/disabilitare la replica sincrona oppure aggiornare il valore nella casella di testo per modificare il ritardo massimo di replica asincrona.
Eliminare un'area secondaria
Per rimuovere un'area secondaria, fare clic sui puntini di sospensione ... posti accanto all'area e selezionare Elimina. Per eliminare l'area, seguire le istruzioni nel pannello popup.
Flusso di promozione
Una promozione viene attivata manualmente dal cliente (sia in modo esplicito con un comando o tramite la logica di business di proprietà del client che attiva il comando) e mai da Azure. Questo garantisce al cliente la proprietà completa e la visibilità per la risoluzione delle interruzioni sulla rete backbone di Azure. Quando si seleziona Promozione pianificata, il servizio attende di recuperare il ritardo di replica prima di avviare la promozione. D'altra parte, quando si sceglie la promozione Forzata, il servizio avvia immediatamente la promozione. Lo spazio dei nomi verrà inserito in modalità di sola lettura dal momento in cui viene richiesta una promozione, fino al completamento della promozione. È possibile eseguire una promozione forzata in qualsiasi momento dopo l'avvio di una promozione pianificata. In questo modo, l'utente dispone del controllo per accelerare la promozione, quando un failover pianificato richiede più tempo del previsto.
Importante
Quando si usa la promozione Forzata, è possibile che tutti i dati non replicati vadano persi.
Dopo l'avvio della promozione:
Il nome host viene aggiornato in modo che punti all'area secondaria, operazione che può richiedere fino a qualche minuto.
Nota
È possibile controllare l'area primaria corrente avviando un comando ping: ping your-namespace-fully-qualified-name
I client si riconnettono automaticamente all'area secondaria.
È possibile automatizzare la promozione con sistemi di monitoraggio o con soluzioni di monitoraggio personalizzate. Tale automazione, tuttavia, richiede pianificazione e lavoro aggiuntivi che esulano dall'ambito di questo articolo.
Con il portale di Azure
Nel portale, fare clic sull'icona Promuovi e seguire le istruzioni nel pannello popup per eliminare l'area.
Utilizzare l'interfaccia della riga di comando di Azure
Eseguire il comando dell'interfaccia della riga di comando di Azure per avviare la promozione. La proprietà Force è facoltativa e il valore predefinito è false.
az rest --method post --url https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ServiceBus/namespaces/<namespaceName>/failover?api-version=2023-01-01-preview --body "{'properties': {'PrimaryLocation': '<newPrimaryocation>', 'api-version':'2023-01-01-preview', 'Force':'false'}}"
Monitoraggio della replica dei dati
Gli utenti possono monitorare lo stato di avanzamento del processo di replica grazie al monitoraggio della metrica di ritardo della replica all'interno di Log Analytics.
- Abilitare i log delle metriche nello spazio dei nomi del bus di servizio come descritto in Monitorare il bus di servizio di Azure.
- Dopo aver abilitato i log delle metriche, è necessario produrre e utilizzare i dati dallo spazio dei nomi per alcuni minuti, prima di iniziare a visualizzare i log.
- Per visualizzare i log delle metriche, passare alla sezione Monitoraggio del bus di servizio e fare clic sul pannello Log. È possibile utilizzare la query seguente per trovare il ritardo di replica (in secondi) tra le regioni primarie e secondarie.
AzureMetrics
| where TimeGenerated > ago(1h)
| where MetricName == "ReplicationLagDuration"
Pubblicazione dei dati
Le applicazioni di pubblicazione possono pubblicare i dati negli spazi dei nomi con replica geografica tramite il nome host dello spazio dei nomi abilitato per la replica geografica. L'approccio di pubblicazione è lo stesso del caso non di replica geografica e non sono necessarie modifiche agli SDK del piano dati o alle applicazioni client. La pubblicazione potrebbe non essere disponibile nelle seguenti circostanze:
- Dopo aver richiesto la promozione di un'area secondaria, l'area primaria esistente rifiuta tutti i nuovi messaggi pubblicati nel bus di servizio fino al completamento della promozione.
- Quando il ritardo di replica tra le aree primarie e secondarie raggiunge la durata massima del ritardo di replica, il carico di lavoro in ingresso del server di pubblicazione potrebbe essere limitato.
Le applicazioni del server di pubblicazione non possono accedere direttamente agli spazi dei nomi nelle aree secondarie.
Utilizzo di dati
L'utilizzo di applicazioni può usare i dati tramite il nome host dello spazio dei nomi dove la funzionalità di replica geografica abilitata. Le operazioni consumer non sono supportate dal momento in cui la promozione viene avviata fino al suo completamento.
Considerazioni
Tenere presente le considerazioni seguenti per questa versione:
- Quando si pianifica la promozione, è consigliabile considerare anche il fattore tempo. Ad esempio, se si perde la connettività per più di 15-20 minuti, è possibile decidere di avviare la promozione.
- È necessario provare a effettuare la promozione di un'infrastruttura distribuita complessa almeno una volta.
Prezzi
Il prezzo del livello Premium del bus di servizio si basa sull'unità di messaggistica. Con la funzionalità di replica geografica, le aree secondarie vengono eseguite sullo stesso numero di unità di messaggistica elaborate dell'area primaria e i prezzi vengono calcolati rispetto al numero totale di unità elaborate. Inoltre, è previsto un addebito in base alla larghezza di banda pubblicata per il numero di aree secondarie. Nell'anteprima pubblica anticipata, non vi è alcun addebito.
Passaggi successivi
- Vedere le informazioni di riferimento sull'API REST per la replica geografica qui.
- Eseguire l'esempio di replica geografica in GitHub.
- Vedere l'esempio di replica geografica che invia messaggi a un alias.
Per altre informazioni sulla messaggistica del bus di servizio, vedere gli articoli seguenti: