Event Hubs
Zone redundancy is automatic and transparent on Standard/Premium/Dedicated. Cross-region DR (Dedicated/Premium only) replicates namespace metadata only — unlike Service Bus, there is no message-data-replicating alternative.
Basic tier, or a non-AZ region
No zone spread available.
- Replication
- None
- RPO
- 0 for platform-level node failure, within retention window
- RTO
- Minutes — platform self-heals
- Failover trigger
- Automatic
Standard/Premium/Dedicated in an AZ-enabled region
Automatic, transparent synchronous replication across zones — no explicit toggle required.
- Replication
- Synchronous
- RPO
- 0
- RTO
- Seconds — automatic
- Failover trigger
- Automatic
Geo-DR pairing (Dedicated/Premium only)
Replicates namespace metadata (event hubs, consumer groups, configuration) to a paired namespace. Event data itself is not replicated — unlike Service Bus, Event Hubs has no message-data-replicating alternative feature.
- Replication
- None
- RPO
- Undefined for event data — unconsumed events since the last successful capture/consumption are lost on failover unless separately protected
- RTO
- Minutes once triggered — pairing break and repoint
- Failover trigger
- Manual (customer-triggered)
To protect event data itself, pair this with Event Hubs Capture writing to a GRS/GZRS storage account, or have producers dual-publish to a namespace in a second region.
Gotchas
Geo-DR replicates configuration, not events
Exactly like Service Bus's legacy Geo-DR, Event Hubs' only native cross-region option carries over topology and settings, not the event stream itself. Unlike Service Bus, there is no newer 'Geo-Replication' equivalent for Event Hubs that also replicates data — event durability across regions is entirely a DIY problem (Capture to geo-redundant storage, or dual-publishing).
Standard and Basic tiers have no geo-DR option
Cross-region DR for Event Hubs is Dedicated/Premium tier only.
Consumer checkpoints are a second replication problem
Even if event data survives a regional failover, consumer offsets/checkpoints (typically stored in a separate Storage/Blob checkpoint store) need to survive the same failure too, or consumers will reprocess or skip data on resume.