Skip to content

Commit 9024a56

Browse files
committed
Freshness review of Event Hubs articles
1 parent 039ce7d commit 9024a56

File tree

5 files changed

+24
-39
lines changed

5 files changed

+24
-39
lines changed

articles/event-hubs/event-hubs-geo-dr.md

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
---
22
title: Geo-disaster recovery - Azure Event Hubs| Microsoft Docs
3-
description: How to use geographical regions to fail over and perform disaster recovery in Azure Event Hubs
4-
ms.topic: article
5-
ms.date: 06/01/2023
3+
description: Describes how to use geographical regions to fail over and perform metadata-only disaster recovery in Azure Event Hubs.
4+
ms.topic: concept-article
5+
ms.date: 07/29/2024
6+
#customer intent: As an IT administrator or an architect, I would like to know how Azure Event Hubs recovers entities where there is a disaster in an Azure region.
67
---
78

89
# Azure Event Hubs - Geo-disaster recovery
10+
This article describes the Geo-disaster recovery feature that replicates metadata and is generally available. It doesn't describe the public preview Geo-replication feature, which replicates both data and metadata. For more information, see [Geo-replication](./geo-replication.md).
911

10-
> [!NOTE]
11-
> This article is about the GA Geo-disaster recovery feature that replicated metadata and not the public preview Geo-replication feature described at [Geo-replication](./geo-replication.md).
12-
13-
The all-active Azure Event Hubs cluster model with [availability zone support](../reliability/reliability-event-hubs.md) provides resiliency against hardware and datacenter outages. However, if a disaster where an entire region and all zones are unavailable, you can use Geo-disaster recovery to recover your workload and application configuration.
14-
15-
Geo-Disaster recovery 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.
12+
The all-active Azure Event Hubs cluster model with [availability zone support](../reliability/reliability-event-hubs.md) provides resiliency against hardware and datacenter outages. However, if a disaster where an entire region and all zones are unavailable, you can use Geo-disaster recovery to recover your workload and application configuration. Geo-Disaster recovery 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.
1613

17-
The Geo-disaster recovery feature of Azure Event Hubs is a disaster recovery solution. The concepts and workflow described in this article apply to disaster scenarios, and not to temporary outages. For a detailed discussion of disaster recovery in Microsoft Azure, see [this article](/azure/architecture/resiliency/disaster-recovery-azure-applications).
18-
19-
With Geo-Disaster recovery, you can initiate a once-only failover move from the primary to the secondary at any time. The failover move points the chosen alias name for the namespace to the secondary namespace. After the move, the pairing is then removed. The failover is nearly instantaneous once initiated.
14+
The Geo-disaster recovery feature of Azure Event Hubs is a disaster recovery solution. The concepts and workflow described in this article apply to disaster scenarios, and not to temporary outages. For a detailed discussion of disaster recovery in Microsoft Azure, see [this article](/azure/architecture/resiliency/disaster-recovery-azure-applications). With Geo-Disaster recovery, you can initiate a once-only failover move from the primary to the secondary at any time. The failover move points the chosen alias name for the namespace to the secondary namespace. After the move, the pairing is then removed. The failover is nearly instantaneous once initiated.
2015

2116

2217
> [!IMPORTANT]
@@ -25,17 +20,14 @@ With Geo-Disaster recovery, you can initiate a once-only failover move from the
2520
2621
## Basic concepts and terms
2722

28-
The disaster recovery feature implements metadata disaster recovery, and relies on primary and secondary disaster recovery namespaces.
29-
30-
The Geo-disaster recovery feature is available for the [standard, premium, and dedicated tiers](https://azure.microsoft.com/pricing/details/event-hubs/) only. You don't need to make any connection string changes, as the connection is made via an alias.
23+
The disaster recovery feature implements metadata disaster recovery, and relies on primary and secondary disaster recovery namespaces. The Geo-disaster recovery feature is available for the [standard, premium, and dedicated tiers](https://azure.microsoft.com/pricing/details/event-hubs/) only. You don't need to make any connection string changes, as the connection is made via an alias.
3124

3225
The following terms are used in this article:
3326

34-
- *Alias*: The name for a disaster recovery configuration that you set up. The alias provides a single stable Fully Qualified Domain Name (FQDN) connection string. Applications use this alias connection string to connect to a namespace.
35-
36-
- *Primary/secondary namespace*: The namespaces that correspond to the alias. The primary namespace is "active" and receives messages (can be an existing or new namespace). The secondary namespace is "passive" and doesn't receive messages. The metadata between both is in sync, so both can seamlessly accept messages without any application code or connection string changes. To ensure that only the active namespace receives messages, you must use the alias.
37-
- *Metadata*: Entities such as event hubs and consumer groups; and their properties of the service that are associated with the namespace. Only entities and their settings are replicated automatically. Messages and events aren't replicated.
38-
- *Failover*: The process of activating the secondary namespace.
27+
- **Alias**: The name for a disaster recovery configuration that you set up. The alias provides a single stable Fully Qualified Domain Name (FQDN) connection string. Applications use this alias connection string to connect to a namespace.
28+
- **Primary/secondary namespace**: The namespaces that correspond to the alias. The primary namespace is active and it receives messages (can be an existing or a new namespace). The secondary namespace is passive and doesn't receive messages. The metadata between both is in sync, so both can seamlessly accept messages without any application code or connection string changes. To ensure that only the active namespace receives messages, you must use the alias.
29+
- **Metadata**: Entities such as event hubs and consumer groups, and their properties of the service that are associated with the namespace. Only entities and their settings are replicated automatically. Messages and events aren't replicated.
30+
- **Failover**: The process of activating the secondary namespace.
3931

4032
## Supported namespace pairs
4133
The following combinations of primary and secondary namespaces are supported:
@@ -46,14 +38,14 @@ The following combinations of primary and secondary namespaces are supported:
4638
| Premium | Premium |
4739
| Dedicated | Dedicated |
4840

49-
> [!NOTE]
41+
> [!IMPORTANT]
5042
> You can't pair namespaces that are in the same dedicated cluster. You can pair namespaces that are in separate clusters.
5143
5244
## Setup and failover flow
5345

5446
The following section is an overview of the failover process, and explains how to set up the initial failover.
5547

56-
:::image type="content" source="./media/event-hubs-geo-dr/geo1.png" alt-text="Image showing the overview of failover process ":::
48+
:::image type="content" source="./media/event-hubs-geo-dr/geo1.png" alt-text="Image showing the overview of failover process.":::
5749

5850
> [!NOTE]
5951
> The Geo-disaster recovery feature doesn't support an automatic failover.
@@ -67,25 +59,27 @@ You first create or use an existing primary namespace, and a new secondary names
6759
1. In the Azure portal, navigate to your primary namespace.
6860
1. Select **Geo-recovery** on the left menu, and select **Initiate pairing** on the toolbar.
6961

70-
:::image type="content" source="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png" alt-text="Initiate pairing from the primary namespace":::
62+
:::image type="content" source="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png" alt-text="Screenshot that shows the Geo-recovery page for an Event Hubs namespace with Initiate Pairing button selected." lightbox="./media/event-hubs-geo-dr/primary-namspace-initiate-pairing-button.png":::
7163
1. On the **Initiate pairing** page, follow these steps:
7264
1. Select an existing secondary namespace or create one in a different region. In this example, an existing namespace is selected.
7365
1. For **Alias**, enter an alias for the geo-dr pairing.
7466
1. Then, select **Create**.
7567

76-
:::image type="content" source="./media/event-hubs-geo-dr/initiate-pairing-page.png" alt-text="Select the secondary namespace":::
68+
:::image type="content" source="./media/event-hubs-geo-dr/initiate-pairing-page.png" alt-text="Screenshot that shows the selection of the secondary namespace for pairing.":::
7769
1. You should see the **Geo-DR Alias** page. You can also navigate to this page from the primary namespace by selecting **Geo-recovery** on the left menu.
7870

79-
:::image type="content" source="./media/event-hubs-geo-dr/geo-dr-alias-page.png" alt-text="Geo-DR alias page":::
71+
:::image type="content" source="./media/event-hubs-geo-dr/geo-dr-alias-page.png" alt-text="Screenshot that shows the Geo-DR Alias page showing both the primary and secondary namespaces." lightbox="./media/event-hubs-geo-dr/geo-dr-alias-page.png":::
8072
1. On the **Geo-DR Alias** page, select **Shared access policies** on the left menu to access the primary connection string for the alias. Use this connection string instead of using the connection string to the primary/secondary namespace directly.
8173
1. On this **Overview** page, you can do the following actions:
8274
1. Break the pairing between primary and secondary namespaces. Select **Break pairing** on the toolbar.
8375
1. Manually fail over to the secondary namespace. Select **Failover** on the toolbar.
84-
76+
77+
:::image type="content" source="./media/event-hubs-geo-dr/break-pairing-fail-over-menu.png" alt-text="Screenshot that shows the Break Pairing and Failover menus on the Event Hubs Geo-DR Alias page." lightbox="./media/event-hubs-geo-dr/break-pairing-fail-over-menu.png":::
78+
8579
> [!WARNING]
86-
> Failing over will activate the secondary namespace and remove the primary namespace from the Geo-Disaster Recovery pairing. Create another namespace to have a new geo-disaster recovery pair.
80+
> Failing over activates the secondary namespace and remove the primary namespace from the Geo-Disaster Recovery pairing. Create another namespace to have a new geo-disaster recovery pair.
8781
88-
Finally, you should add some monitoring to detect if a failover is necessary. 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.
82+
Finally, you should add some monitoring to detect if a failover is necessary. In most cases, the service is one part of a large ecosystem and thus automatic failovers are rarely possible, as often failovers must be performed in sync with the remaining subsystem or infrastructure.
8983

9084
### Example
9185

@@ -98,13 +92,12 @@ You can automate failover either with monitoring systems, or with custom-built m
9892
If you initiate the failover, two steps are required:
9993

10094
1. If another outage occurs, you want to be able to fail over again. Therefore, set up another passive namespace and update the pairing.
101-
10295
2. Pull messages from the former primary namespace once it's available again. After that, use that namespace for regular messaging outside of your geo-recovery setup, or delete the old primary namespace.
10396

10497
> [!NOTE]
10598
> Only fail forward semantics are supported. In this scenario, you fail over and then re-pair with a new namespace. Failing back is not supported; for example, in a SQL cluster.
10699
107-
:::image type="content" source="./media/event-hubs-geo-dr/geo2.png" alt-text="Image showing the failover flow":::
100+
:::image type="content" source="./media/event-hubs-geo-dr/geo2.png" alt-text="Image showing the failover flow." lightbox="./media/event-hubs-geo-dr/geo2.png":::
108101

109102
## Manual failover
110103
This section shows how to manually fail over using Azure portal, CLI, PowerShell, C#, etc.
@@ -197,17 +190,9 @@ Advantage of this approach is that failover can happen at the application layer
197190
## Role-based access control
198191
Microsoft Entra role-based access control (RBAC) assignments to entities in the primary namespace aren't replicated to the secondary namespace. Create role assignments manually in the secondary namespace to secure access to them.
199192

200-
## Next steps
193+
## Related content
201194
Review the following samples or reference documentation.
202195
- [.NET GeoDR sample](https://github.com/Azure/azure-event-hubs/tree/master/samples/Management/DotNet/GeoDRClient)
203196
- [Java GeoDR sample](https://github.com/Azure-Samples/eventhub-java-manage-event-hub-geo-disaster-recovery)
204-
- [.NET - Azure.Messaging.EventHubs samples](https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/eventhub/Azure.Messaging.EventHubs/samples)
205-
- [.NET - Microsoft.Azure.EventHubs samples](https://github.com/Azure/azure-event-hubs/tree/master/samples/DotNet)
206-
- [Java - azure-messaging-eventhubs samples](https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/eventhubs/azure-messaging-eventhubs/src/samples/java/com/azure/messaging/eventhubs)
207-
- [Java - azure-eventhubs samples](https://github.com/Azure/azure-event-hubs/tree/master/samples/Java)
208-
- [Python samples](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub/samples)
209-
- [JavaScript samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/event-hubs/samples/v5/javascript)
210-
- [TypeScript samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/event-hubs/samples/v5/typescript)
211-
- [REST API reference](/rest/api/eventhub/)
212197

213198
[2]: ./media/event-hubs-geo-dr/geo2.png
59.5 KB
Loading
6.63 KB
Loading
8.98 KB
Loading
-10.9 KB
Loading

0 commit comments

Comments
 (0)