Hub eventi di Azure - Ripristino di emergenza geograficoAzure Event Hubs - Geo-disaster recovery

La resilienza contro interruzioni disastrose delle risorse di elaborazione dati è un requisito per molte aziende e in alcuni casi anche richiesto dalle normative del settore.Resilience against disastrous outages of data processing resources is a requirement for many enterprises and in some cases even required by industry regulations.

Hub eventi di Azure distribuisce già il rischio di errori irreversibili dei singoli computer o persino dei rack completi tra i cluster che si estendono su più domini di errore all'interno di un Data Center e implementa meccanismi di rilevamento e failover trasparenti, in modo che il servizio continui a funzionare entro i livelli di servizio garantiti e in genere senza interruzioni evidenti in caso di errori di questo tipo.Azure Event Hubs already spreads the risk of catastrophic failures of individual machines or even complete racks across clusters that span multiple failure domains within a datacenter and it implements transparent failure detection and failover mechanisms such that the service will continue to operate within the assured service-levels and typically without noticeable interruptions in the event of such failures. Se è stato creato uno spazio dei nomi di hub eventi con l'opzione Enabled per le zone di disponibilità, il rischio è che il rischio di interruzione sia ulteriormente distribuito in tre strutture fisicamente separate e il servizio dispone di un numero sufficiente di riserve di capacità per gestire immediatamente la perdita completa e irreversibile dell'intera struttura.If an Event Hubs namespace has been created with the enabled option for availability zones, the risk is outage risk is further spread across three physically separated facilities, and the service has enough capacity reserves to instantly cope with the complete, catastrophic loss of the entire facility.

Il modello di cluster di hub eventi di Azure all-Active con supporto per la zona di disponibilità offre resilienza in caso di guasti hardware gravi e anche di perdita irreversibile di intere strutture del Data Center.The all-active Azure Event Hubs cluster model with availability zone support provides resiliency against grave hardware failures and even catastrophic loss of entire datacenter facilities. È comunque possibile che si verifichino situazioni gravi con la distruzione fisica diffusa che anche le misure non possono essere sufficientemente difesa.Still, there might be grave situations with widespread physical destruction that even those measures cannot sufficiently defend against.

La funzionalità di ripristino di emergenza geografico di hub eventi è progettata per semplificare il ripristino da una situazione di emergenza e per abbandonare un'area di Azure non riuscita e senza dover modificare le configurazioni dell'applicazione.The Event Hubs Geo-disaster recovery feature is designed to make it easier to recover from a disaster of this magnitude and abandon a failed Azure region for good and without having to change your application configurations. L'abbandono di un'area di Azure comporterà in genere diversi servizi e questa funzionalità mira principalmente a mantenere l'integrità della configurazione dell'applicazione composita.Abandoning an Azure region will typically involve several services and this feature primarily aims at helping to preserve the integrity of the composite application configuration.

La funzionalità di ripristino Geo-Disaster garantisce che l'intera configurazione di uno spazio dei nomi (hub eventi, gruppi di consumer e impostazioni) venga replicata continuamente da uno spazio dei nomi primario a uno spazio dei nomi secondario quando abbinato e consente di avviare un failover solo una volta dal database primario al database secondario in qualsiasi momento.The Geo-Disaster recovery feature ensures that the entire configuration of a namespace (Event Hubs, Consumer Groups and settings) is continuously replicated from a primary namespace to a secondary namespace when paired, and it allows you to initiate a once-only failover move from the primary to the secondary at any time. Lo spostamento del failover consente di reindirizzare il nome dell'alias scelto per lo spazio dei nomi allo spazio dei nomi secondario e quindi di suddividere l'associazione.The failover move will re-point the chosen alias name for the namespace to the secondary namespace and then break the pairing. Il failover è quasi istantaneo una volta avviata.The failover is nearly instantaneous once initiated.

Importante

La funzionalità consente la continuità immediata delle operazioni con la stessa configurazione, ma non replica i dati dell'evento.The feature enables instantaneous continuity of operations with the same configuration, but does not replicate the event data. A meno che l'emergenza non abbia causato la perdita di tutte le zone, i dati dell'evento vengono conservati nell'hub eventi primario dopo che il failover sarà reversibile ed è possibile ottenere gli eventi cronologici da una volta ripristinato l'accesso.Unless the disaster caused the loss of all zones, the event data is preserved in the primary Event Hub after failover will be recoverable and the historic events can be obtained from there once access is restored. Per la replica dei dati degli eventi e il funzionamento degli spazi dei nomi corrispondenti nelle configurazioni attive/attive per far fronte a interruzioni e emergenze, non bisogna occuparsi di questo set di funzionalità di ripristino di emergenza geografico, ma attenersi alle linee guidaper la replica.For replicating event data and operating corresponding namespaces in active/active configurations to cope with outages and disasters, don't lean on this Geo-disaster recovery feature set, but follow the replication guidance.

Emergenze e interruzioniOutages and disasters

È importante notare la distinzione tra "interruzioni" ed "emergenze".It's important to note the distinction between "outages" and "disasters." Un'interruzione è l'indisponibilità temporanea di Hub eventi di Azure e può interessare alcuni componenti del servizio, ad esempio un archivio di messaggistica, oppure l'intero data center.An outage is the temporary unavailability of Azure Event Hubs, and can affect some components of the service, such as a messaging store, or even the entire datacenter. Dopo la risoluzione del problema, tuttavia, Hub eventi torna di nuovo disponibile.However, after the problem is fixed, Event Hubs becomes available again. Un'interruzione non determina in genere la perdita di messaggi o di altri dati.Typically, an outage doesn't cause the loss of messages or other data. Un'interruzione può essere provocata ad esempio da un'interruzione dell'alimentazione nel data center.An example of such an outage might be a power failure in the datacenter. Alcune interruzioni sono solo brevi perdite di connessione dovute a problemi di rete o temporanei.Some outages are only short connection losses because of transient or network issues.

Il termine emergenza indica la perdita permanente o a lungo termine di un cluster di Hub eventi, un'area di Azure o un data center.A disaster is defined as the permanent, or longer-term loss of an Event Hubs cluster, Azure region, or datacenter. L'area o il data center potrebbe o meno tornare di nuovo disponibile oppure potrebbe rimanere inattivo per ore o giorni.The region or datacenter may or may not become available again, or may be down for hours or days. Un'emergenza può essere causata, ad esempio, da un incendio, un'inondazione o un terremoto.Examples of such disasters are fire, flooding, or earthquake. Una situazione di emergenza che diventa permanente potrebbe causare la perdita di alcuni messaggi, eventi o altri dati.A disaster that becomes permanent might cause the loss of some messages, events, or other data. Tuttavia, nella maggior parte dei casi non dovrebbe esserci perdita di dati e i messaggi possono essere ripristinati dopo aver eseguito il backup del data center.However, in most cases there should be no data loss and messages can be recovered once the data center is back up.

La funzionalità di ripristino di emergenza geografico di Hub eventi di Azure è una soluzione di ripristino di emergenza.The Geo-disaster recovery feature of Azure Event Hubs is a disaster recovery solution. I concetti e il flusso di lavoro illustrati in questo articolo sono applicabili a scenari di emergenza, non a interruzioni temporanee.The concepts and workflow described in this article apply to disaster scenarios, and not to transient, or temporary outages. Per una descrizione dettagliata del ripristino di emergenza in Microsoft Azure, vedere questo articolo.For a detailed discussion of disaster recovery in Microsoft Azure, see this article.

Concetti e terminologia di baseBasic concepts and terms

La funzionalità di ripristino di emergenza implementa il ripristino di emergenza dei metadati e si basa sugli spazi dei nomi primari e secondari di ripristino di emergenza.The disaster recovery feature implements metadata disaster recovery, and relies on primary and secondary disaster recovery namespaces.

La funzionalità di ripristino di emergenza geografico è disponibile solo per gli SKU standard e dedicati.The Geo-disaster recovery feature is available for the standard and dedicated SKUs only. Non è necessario apportare modifiche alla stringa di connessione, perché la connessione viene effettuata tramite un alias.You don't need to make any connection string changes, as the connection is made via an alias.

In questo articolo viene usata la terminologia seguente:The following terms are used in this article:

  • Alias: nome per una configurazione di ripristino di emergenza impostata.Alias: The name for a disaster recovery configuration that you set up. L'alias fornisce una singola stringa di connessione FQDN (nome di dominio completo) stabile.The alias provides a single stable Fully Qualified Domain Name (FQDN) connection string. Le applicazioni usano questa stringa di connessione alias per connettersi a uno spazio dei nomi.Applications use this alias connection string to connect to a namespace.

  • Spazio dei nomi primario/secondario: spazi dei nomi corrispondenti all'alias.Primary/secondary namespace: The namespaces that correspond to the alias. Lo spazio dei nomi primario è "attivo" e riceve i messaggi (può essere uno spazio dei nomi esistente o nuovo).The primary namespace is "active" and receives messages (can be an existing or new namespace). Lo spazio dei nomi secondario è "passivo" e non riceve messaggi.The secondary namespace is "passive" and doesn't receive messages. I metadati vengono sincronizzati tra entrambi gli spazi dei nomi, quindi entrambi possono facilmente accettare messaggi senza modifiche al codice dell'applicazione o alla stringa di connessione.The metadata between both is in sync, so both can seamlessly accept messages without any application code or connection string changes. Per fare in modo che solo lo spazio dei nomi attivo riceva i messaggi, è necessario usare l'alias.To ensure that only the active namespace receives messages, you must use the alias.

  • Metadati: entità come hub eventi e gruppi di consumer e le relative proprietà del servizio associate allo spazio dei nomi.Metadata: Entities such as event hubs and consumer groups; and their properties of the service that are associated with the namespace. Solo le entità e le relative impostazioni vengono replicate automaticamente.Only entities and their settings are replicated automatically. I messaggi e gli eventi non vengono replicati.Messages and events aren't replicated.

  • Failover: processo di attivazione dello spazio dei nomi secondario.Failover: The process of activating the secondary namespace.

Coppie di spazi dei nomi supportateSupported namespace pairs

Sono supportate le combinazioni seguenti di spazi dei nomi primari e secondari:The following combinations of primary and secondary namespaces are supported:

Spazio dei nomi primarioPrimary namespace Spazio dei nomi secondarioSecondary namespace SupportatoSupported
StandardStandard StandardStandard Yes
StandardStandard DedicatoDedicated Yes
DedicatoDedicated DedicatoDedicated Yes
DedicatoDedicated StandardStandard NoNo

Nota

Non è possibile associare spazi dei nomi che si trovano nello stesso cluster dedicato.You can't pair namespaces that are in the same dedicated cluster. È possibile associare spazi dei nomi che si trovano in cluster separati.You can pair namespaces that are in separate clusters.

Configurazione e flusso del failoverSetup and failover flow

La sezione seguente è una panoramica del processo di failover e illustra come configurare il failover iniziale.The following section is an overview of the failover process, and explains how to set up the initial failover.

1

ConfigurazioneSetup

È prima di tutto necessario creare uno spazio dei nomi primario o usarne uno esistente e creare un nuovo spazio dei nomi secondario, quindi associare i due spazi dei nomi.You first create or use an existing primary namespace, and a new secondary namespace, then pair the two. L'associazione fornisce un alias che può essere usato per la connessione.This pairing gives you an alias that you can use to connect. Poiché si usa un alias, non è necessario modificare le stringhe di connessione.Because you use an alias, you don't have to change connection strings. È possibile aggiungere solo nuovi spazi dei nomi all'associazione di failover.Only new namespaces can be added to your failover pairing.

  1. Creare lo spazio dei nomi primario.Create the primary namespace.

  2. Creare lo spazio dei nomi secondario.Create the secondary namespace. Questo passaggio è facoltativo.This step is optional. È possibile creare lo spazio dei nomi secondario durante la creazione dell'associazione nel passaggio successivo.You can create the secondary namespace while creating the pairing in the next step.

  3. Nella portale di Azure passare allo spazio dei nomi primario.In the Azure portal, navigate to your primary namespace.

  4. Selezionare ripristino geografico nel menu a sinistra e selezionare Avvia associazione sulla barra degli strumenti.Select Geo-recovery on the left menu, and select Initiate pairing on the toolbar.

    Avviare l'associazione dallo spazio dei nomi primario

  5. Nella pagina avvio associazione selezionare uno spazio dei nomi secondario esistente o crearne uno, quindi selezionare Crea.On the Initiate pairing page, select an existing secondary namespace or create one, and then select Create. Nell'esempio seguente viene selezionato uno spazio dei nomi secondario esistente.In the following example, an existing secondary namespace is selected.

    Selezionare lo spazio dei nomi secondario

  6. A questo punto, quando si seleziona il ripristino geografico per lo spazio dei nomi primario, viene visualizzata la pagina alias ripristino di emergenza geografico simile all'immagine seguente:Now, when you select Geo-recovery for the primary namespace, you should see the Geo-DR Alias page that looks like the following image:

    Pagina alias ripristino di emergenza geografico

  7. In questa pagina di Panoramica è possibile eseguire le azioni seguenti:On this Overview page, you can do the following actions:

    1. Suddividere l'associazione tra gli spazi dei nomi primari e secondari.Break the pairing between primary and secondary namespaces. Selezionare Interrompi associazione sulla barra degli strumenti.Select Break pairing on the toolbar.

    2. Eseguire manualmente il failover allo spazio dei nomi secondario.Manually failover to the secondary namespace. Selezionare failover sulla barra degli strumenti.Select Failover on the toolbar.

      Avviso

      Il failover attiverà lo spazio dei nomi secondario e rimuoverà lo spazio dei nomi primario dall'associazione di Geo-Disaster Recovery.Failing over will activate the secondary namespace and remove the primary namespace from the Geo-Disaster Recovery pairing. Creare un altro spazio dei nomi per avere una nuova coppia di ripristino di emergenza geografico.Create another namespace to have a new geo-disaster recovery pair.

  8. Nella pagina alias ripristino di emergenza geografico selezionare criteri di accesso condivisi per accedere alla stringa di connessione primaria per l'alias.On the Geo-DR Alias page, select Shared access policies to access the primary connection string for the alias. Usare questa stringa di connessione invece di utilizzare direttamente la stringa di connessione allo spazio dei nomi primario/secondario.Use this connection string instead of using the connection string to the primary/secondary namespace directly.

Infine, è necessario aggiungere funzionalità di monitoraggio per rilevare i casi in cui è necessario un failover.Finally, you should add some monitoring to detect if a failover is necessary. Nella maggior parte dei casi, il servizio fa parte di un ecosistema di grandi dimensioni, quindi i failover automatici sono raramente possibili, in quanto spesso i failover devono essere eseguiti in modo sincronizzato con il sottosistema o l'infrastruttura rimanente.In most cases, the service is one part of a large ecosystem, thus automatic failovers are rarely possible, as often failovers must be performed in sync with the remaining subsystem or infrastructure.

EsempioExample

In un esempio di questo scenario, si consideri una soluzione POS che genera messaggi o eventi.In one example of this scenario, consider a Point of Sale (POS) solution that emits either messages or events. Hub eventi passa gli eventi a una soluzione di mapping o riformattazione, che quindi inoltra i dati mappati a un altro sistema per un'ulteriore elaborazione.Event Hubs passes those events to some mapping or reformatting solution, which then forwards mapped data to another system for further processing. A questo punto, tutti questi sistemi possono essere ospitati nella stessa area di Azure.At that point, all of these systems might be hosted in the same Azure region. La decisione di quando e quale parte del failover dipende dal flusso di dati nell'infrastruttura.The decision of when and what part to fail over depends on the flow of data in your infrastructure.

È possibile automatizzare il failover con sistemi di monitoraggio o con soluzioni di monitoraggio personalizzate.You can automate failover either with monitoring systems, or with custom-built monitoring solutions. Tale automazione, tuttavia, richiede pianificazione e lavoro aggiuntivi che esulano dall'ambito di questo articolo.However, such automation takes extra planning and work, which is out of the scope of this article.

Flusso del failoverFailover flow

Se si avvia il failover, sono necessari due passaggi:If you initiate the failover, two steps are required:

  1. È necessario poter eseguire di nuovo il failover nel caso in cui si verifichi un'altra interruzione.If another outage occurs, you want to be able to fail over again. Configurare quindi un altro spazio dei nomi passivo e aggiornare l'associazione.Therefore, set up another passive namespace and update the pairing.

  2. Eseguire il pull dei messaggi dallo spazio dei nomi primario precedente quando è di nuovo disponibile.Pull messages from the former primary namespace once it's available again. Successivamente, usare tale spazio dei nomi per la messaggistica regolare di fuori della configurazione del ripristino geografico oppure eliminare lo spazio dei nomi primario precedente.After that, use that namespace for regular messaging outside of your geo-recovery setup, or delete the old primary namespace.

Nota

È supportata solo la semantica di inoltro in caso di errore.Only fail forward semantics are supported. In questo scenario, si esegue il failover e quindi si esegue di nuovo l'associazione con un nuovo spazio dei nomi.In this scenario, you fail over and then re-pair with a new namespace. Il failback, ad esempio in un cluster SQL, non è supportato.Failing back is not supported; for example, in a SQL cluster.

2

GestioneManagement

Se si commette un errore, ad esempio associando le aree non corrette durante la configurazione iniziale, è possibile interrompere l'associazione dei due spazi dei nomi in qualsiasi momento.If you made a mistake; for example, you paired the wrong regions during the initial setup, you can break the pairing of the two namespaces at any time. Per usare gli spazi dei nomi associati come normali spazi dei nomi, eliminare l'alias.If you want to use the paired namespaces as regular namespaces, delete the alias.

EsempiSamples

L'esempio su GitHub illustra come configurare e avviare un failover.The sample on GitHub shows how to set up and initiate a failover. L'esempio illustra i concetti seguenti:This sample demonstrates the following concepts:

  • Impostazioni necessarie in Azure Active Directory per usare Azure Resource Manager con Hub eventi.Settings required in Azure Active Directory to use Azure Resource Manager with Event Hubs.
  • Passaggi necessari per eseguire il codice di esempio.Steps required to execute the sample code.
  • Invio e ricezione dallo spazio dei nomi primario corrente.Send and receive from the current primary namespace.

ConsiderazioniConsiderations

Tenere presente le considerazioni seguenti:Note the following considerations to keep in mind:

  1. Da progettazione, il ripristino di emergenza geografico di Hub eventi non replica i dati e non è quindi possibile riutilizzare il valore di offset precedente dell'hub eventi primario per l'hub eventi secondario.By design, Event Hubs geo-disaster recovery does not replicate data, and therefore you cannot reuse the old offset value of your primary event hub on your secondary event hub. È consigliabile riavviare il ricevitore di eventi con uno dei metodi seguenti:We recommend restarting your event receiver with one of the following methods:
  • EventPosition.FromStart() - Se si vogliono leggere tutti i dati nell'hub eventi secondario.EventPosition.FromStart() - If you wish read all data on your secondary event hub.
  • EventPosition.FromEnd() - Se si vogliono leggere tutti i nuovi dati dal momento della connessione all'hub eventi secondario.EventPosition.FromEnd() - If you wish to read all new data from the time of connection to your secondary event hub.
  • EventPosition.FromEnqueuedTime(dateTime) - Se si vogliono leggere tutti i dati ricevuti nell'hub eventi secondario a partire da una data e da un'ora specificate.EventPosition.FromEnqueuedTime(dateTime) - If you wish to read all data received in your secondary event hub starting from a given date and time.
  1. Quando si pianifica il failover, è consigliabile considerare anche il fattore tempo.In your failover planning, you should also consider the time factor. Ad esempio, se si perde la connettività per più di 15-20 minuti, è possibile decidere di avviare il failover.For example, if you lose connectivity for longer than 15 to 20 minutes, you might decide to initiate the failover.

  2. Il fatto che non vengano replicati dati significa che le sessioni attive correnti non vengono replicate.The fact that no data is replicated means that current active sessions aren't replicated. Il rilevamento dei duplicati e i messaggi pianificati potrebbero inoltre non funzionare.Additionally, duplicate detection and scheduled messages may not work. Le nuove sessioni, i messaggi pianificati e i nuovi duplicati funzioneranno.New sessions, scheduled messages, and new duplicates will work.

  3. È necessario provare a effettuare il failover di un'infrastruttura distribuita complessa almeno una volta.Failing over a complex distributed infrastructure should be rehearsed at least once.

  4. La sincronizzazione delle entità può richiedere tempo, circa un minuto per 50-100 entità.Synchronizing entities can take some time, approximately 50-100 entities per minute.

Zone di disponibilitàAvailability Zones

Lo SKU Standard di Hub eventi supporta le zone di disponibilità di Azure fornendo località con isolamento di errore all'interno di un'area di Azure.The Event Hubs Standard SKU supports Availability Zones, providing fault-isolated locations within an Azure region.

Nota

Il supporto per le zone di disponibilità per lo SKU standard di Hub eventi di Azure è disponibile solo nelle aree di Azure in cui sono presenti le zone di disponibilità.The Availability Zones support for Azure Event Hubs Standard is only available in Azure regions where availability zones are present.

Usando il portale di Azure, è possibile abilitare le zone di disponibilità solo negli spazi dei nomi.You can enable Availability Zones on new namespaces only, using the Azure portal. Hub eventi non supporta la migrazione di spazi dei nomi esistenti.Event Hubs doesn't support migration of existing namespaces. Non è possibile disabilitare la ridondanza della zona dopo che è stata abilitata nello spazio dei nomi.You can't disable zone redundancy after enabling it on your namespace.

3

Endpoint privatiPrivate endpoints

Questa sezione offre ulteriori considerazioni quando si usa il ripristino di emergenza geografico con gli spazi dei nomi che usano endpoint privati.This section provides more considerations when using Geo-disaster recovery with namespaces that use private endpoints. Per informazioni generali sull'uso di endpoint privati con Hub eventi, vedere Configurare gli endpoint privati.To learn about using private endpoints with Event Hubs in general, see Configure private endpoints.

Nuove associazioniNew pairings

Se si tenta di creare un'associazione tra uno spazio dei nomi primario con un endpoint privato e uno spazio dei nomi secondario senza un endpoint privato, l'associazione ha esito negativo.If you try to create a pairing between a primary namespace with a private endpoint and a secondary namespace without a private endpoint, the pairing will fail. L'associazione avrà esito positivo solo se entrambi gli spazi dei nomi, primario e secondario, hanno endpoint privati.The pairing will succeed only if both primary and secondary namespaces have private endpoints. È consigliabile usare le stesse configurazioni per gli spazi dei nomi primario e secondario e per le reti virtuali in cui sono stati creati gli endpoint privati.We recommend that you use same configurations on the primary and secondary namespaces and on virtual networks in which private endpoints are created.

Nota

Quando si tenta di associare lo spazio dei nomi primario con un endpoint privato e uno spazio dei nomi secondario, il processo di convalida controlla solo se esiste un endpoint privato nello spazio dei nomi secondario.When you try to pair the primary namespace with private endpoint and a secondary namespace, the validation process only checks whether a private endpoint exists on the secondary namespace. Non controlla se l'endpoint funziona o se funzionerà dopo il failover.It doesn't check whether the endpoint works or will work after failover. È responsabilità dell'utente assicurarsi che lo spazio dei nomi secondario con endpoint privato funzioni come previsto dopo il failover.It's your responsibility to ensure that the secondary namespace with private endpoint will work as expected after failover.

Per verificare che le configurazioni degli endpoint privati siano le stesse negli spazi dei nomi primario e secondario, inviare una richiesta di lettura, ad esempio Get per l'hub eventi, allo spazio dei nomi secondario dall'esterno della rete virtuale e verificare che si riceva un messaggio di errore dal servizio.To test that the private endpoint configurations are same on primary and secondary namespaces, send a read request (for example: Get Event Hub) to the secondary namespace from outside the virtual network, and verify that you receive an error message from the service.

Associazioni esistentiExisting pairings

Se l'associazione tra uno spazio dei nomi primario e uno secondario esiste già, la creazione di endpoint privati nello spazio dei nomi primario ha esito negativo.If pairing between primary and secondary namespace already exists, private endpoint creation on the primary namespace will fail. Per risolvere il problema, creare prima un endpoint privato nello spazio dei nomi secondario e quindi crearne uno per lo spazio dei nomi primario.To resolve, create a private endpoint on the secondary namespace first and then create one for the primary namespace.

Nota

Mentre l'accesso allo spazio dei nomi secondario è consentito in sola lettura, è possibile eseguire aggiornamenti nelle configurazioni degli endpoint privati.While we allow read-only access to the secondary namespace, updates to the private endpoint configurations are permitted.

Quando si crea una configurazione di ripristino di emergenza per l'applicazione e gli spazi dei nomi di Hub eventi, è necessario creare endpoint privati per entrambi gli spazi dei nomi, primario e secondario, di Hub eventi nelle reti virtuali che ospitano entrambe le istanze, primaria e secondaria, dell'applicazione.When creating a disaster recovery configuration for your application and Event Hubs namespaces, you must create private endpoints for both primary and secondary Event Hubs namespaces against virtual networks hosting both primary and secondary instances of your application.

Si supponga di avere due reti virtuali, VNET-1 e VNET-2, e gli spazi dei nomi, rispettivamente primario e secondario, EventHubs-Namespace1-Primary e EventHubs-Namespace2-Secondary.Let's say you have two virtual networks: VNET-1, VNET-2 and these primary and secondary namespaces: EventHubs-Namespace1-Primary, EventHubs-Namespace2-Secondary. È necessario eseguire la procedura seguente:You need to do the following steps:

  • In EventHubs-Namespace1-Primary creare due endpoint privati che usano subnet da VNET-1 e VNET-2On EventHubs-Namespace1-Primary, create two private endpoints that use subnets from VNET-1 and VNET-2
  • In EventHubs-Namespace2-Secondary creare due endpoint privati che usano le stesse subnet da VNET-1 e VNET-2On EventHubs-Namespace2-Secondary, create two private endpoints that use the same subnets from VNET-1 and VNET-2

Endpoint privati e reti virtuali

Il vantaggio di questo approccio è che il failover può verificarsi a livello di applicazione indipendentemente dallo spazio dei nomi di Hub eventi.Advantage of this approach is that failover can happen at the application layer independent of Event Hubs namespace. Esaminare gli scenari seguenti:Consider the following scenarios:

Failover della sola applicazione: in questo caso, l'applicazione non esiste in VNET-1 ma passa a VNET-2.Application-only failover: Here, the application won't exist in VNET-1 but will move to VNET-2. Poiché entrambi gli endpoint privati sono configurati sia in VNET-1 che VNET-2 per entrambi gli spazi dei nomi primario e secondario, l'applicazione funzionerà.As both private endpoints are configured on both VNET-1 and VNET-2 for both primary and secondary namespaces, the application will just work.

Failover del solo spazio dei nomi di Hub eventi: anche in questo caso, poiché entrambi gli endpoint privati sono configurati in entrambe le reti virtuali per entrambi gli spazi dei nomi primario e secondario, l'applicazione funzionerà.Event Hubs namespace-only failover: Here again, since both private endpoints are configured on both virtual networks for both primary and secondary namespaces, the application will just work.

Nota

Per materiale sussidiario sul ripristino di emergenza geografico di una rete virtuale, vedere Rete virtuale - Continuità aziendale.For guidance on geo-disaster recovery of a virtual network, see Virtual Network - Business Continuity.

Passaggi successiviNext steps

  • L'esempio disponibile in GitHub illustra in dettaglio un semplice flusso di lavoro per la creazione di un'associazione geografica e l'avvio di un failover per uno scenario di ripristino di emergenza.The sample on GitHub walks through a simple workflow that creates a geo-pairing and initiates a failover for a disaster recovery scenario.
  • Nella informazioni di riferimento sulle API del servizio REST sono descritte le API che consentono di eseguire la configurazione del ripristino di emergenza geografico.The REST API reference describes APIs for performing the Geo-disaster recovery configuration.

Per altre informazioni su Hub eventi, vedere i collegamenti seguenti:For more information about Event Hubs, visit the following links: