ElastiCache multi-AZ setup with no replica
My customer is migrating to ElastiCache for Redis. They don't require their cluster to be highly available, so to save cost want to run with a single replica of data. Due to high write load it may require multiple shards, meaning cluster mode enabled cluster, which requires multi-az to be enabled.
From what I can see contrary to RDS, multi-AZ in ElastiCache uses one of the regular read replicas for failover, it doesn't keep a special replica just for the failover scenario. I see that I can run a cluster as multi-AZ with 0 read replicas, so it just has the primary nodes. In such a setup having multi-AZ enabled seems meaningless since there is nowhere to fail to in case the primary node fails.
Is there a benefit to running a cluster without replicas as multi-AZ besides the fact that it's required for cluster mode enabled setup?
Also if a cluster with a single writer will be sufficient to this customer, running it as cluster mode enabled with 1 shard and 0 replicas vs running it as single node cluster probably has the benefit of being able to add more nodes and shards easily if the workload changes over time. Are there any advantages like performance to running a single node cluster in this case?
Unless there is a specific requirement to use cluster-mode-disabled, we suggest that customers start with cluster-mode-enabled because they can:
- scale horizontally in an incremental fashion
- reduce the blast radius of a single primary node (shard) failure
- scale vertically (just like cluster-mode-disabled as well)
There are no performance benefits in choosing cluster-mode-disabled, even if the intent is to run a single writer/primary node with no replicas.
There are a few reasons why a customer may want to choose cluster-mode-disabled, though, a few examples:
- Redis pubsub use cases can generate significant traffic as each message is replicated to each primary (and then to each primary's replica nodes)
- if customer's preferred client library does not support cluster mode
- if a required third party application does not support cluster mode
Using Multi-AZ with no read replicas will still help reduce the blast radius if there are two or more shards. Having primary nodes in different AZs means the remaining shards in the active AZs will continue to operate. If all nodes are placed in a single AZ and there is an AZ failure, then all nodes, of course, are unavailable.
Combatibility with redis api for testing mockupsasked a year ago
Adding new shards didn't increase the total available memoryasked 2 years ago
Elasticache Single node - Read endpointAccepted Answerasked a year ago
Plans for more allowing more than 2 other regions for secondary clusters in Elasticache for Redis Global Datastore?asked 4 months ago
Lightsail container - connect to ElastiCacheasked 3 months ago
Connecting to elastiCache cluster with node.jsasked a month ago
Elasticache for Redis cluster service update got stuckasked 3 months ago
ElastiCache multi-AZ setup with no replicaAccepted AnswerEXPERTasked 2 years ago
ElastiCache for Redis load distributionasked 4 months ago
Elasticache Endpoint migration stuck on 'Migrating' statusasked 23 days ago