Multi-AZ部署与只读副本版Multi-AZ部署的主要区别是什么?
Great question—this is a common point of confusion once you realize read replicas can also leverage Multi-AZ! Let’s break down the key distinctions first:
Primary Role & Purpose
- Standard Multi-AZ Deployment: This is all about high availability (HA) for your primary database. The standby instance it creates is a fully synchronized, non-readable replica that exists solely for failover. If your primary instance goes down, RDS automatically switches to the standby (which becomes the new primary) to minimize downtime—no read traffic is handled by this standby under normal circumstances.
- Multi-AZ Read Replica Deployment: This adds HA specifically to a read replica. The read replica itself is readable (and meant to offload read traffic from your primary), and it gets its own synchronized standby instance. If the read replica fails, RDS switches to its standby, ensuring your read traffic keeps flowing without interruption. Plus, this entire setup still syncs data from your primary database.
Data Flow & Relationships
- Standard Multi-AZ: Primary instance ↔ Synchronized standby (failover-only, no read access)
- Multi-AZ Read Replica: Primary instance → Read replica ↔ Its synchronized standby (both the read replica and its standby can handle read requests, and both stay in sync with the primary)
Ideal Use Cases
- Standard Multi-AZ: Perfect for transactional systems where uptime is critical, but you don’t need to offload read traffic. Think core e-commerce checkout flows or banking systems—prioritizing failover readiness over read scaling.
- Multi-AZ Read Replica: Ideal when you need both read scaling (to take load off the primary) and high availability for your read workloads. For example, high-traffic reporting dashboards or user-facing read-heavy features where a single read replica failure would disrupt service.
Now let’s clarify the two setup methods you mentioned:
Scenario 1: Standard Multi-AZ Deployment
Steps: Select your primary RDS instance → Go to instance actions → Modify → Locate theMulti-AZ deploymentoption and enable it.
Outcome: RDS automatically provisions a synchronized standby instance in a separate Availability Zone. This standby is not accessible for read queries; it only activates if the primary fails. After a failover, the standby becomes the new primary, and RDS spins up a new standby to maintain the Multi-AZ setup.Scenario 2: Multi-AZ Read Replica Deployment
Steps: Select your primary RDS instance → Go to instance actions → Create read replica → Check theMulti-AZ deploymentoption during setup.
Outcome: RDS creates two instances: a readable replica synced to your primary, plus a synchronized standby for that replica (in another AZ). Both the read replica and its standby can handle read traffic. If the main read replica fails, RDS automatically switches to the standby, which continues syncing data from the primary and serving read requests.
内容的提问来源于stack exchange,提问作者Chumicat

