By using AWS re:Post, you agree to the Terms of Use
/ElastiCache multi-AZ setup with no replica/

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?

asked 2 years ago2 views
1 Answers
Accepted Answer

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.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions