A session cache must keep serving after one cache node is lost. The data is in ElastiCache. Memcached was proposed because it is simple. What should they run instead?
Select an answer to reveal the explanation.
Short Explanation
Memcached is simple because it does not keep a replica. If the node dies, that cache is gone. You want Redis with replication so another node already has the sessions, because a single node does not survive.
Full Explanation
ElastiCache for Redis can run a replication group with a primary and replicas, and a replica can be promoted if the primary is lost. That meets a cache that must keep serving. Memcached does not replicate; a lost node drops its keys. One Memcached node contradicts the survival requirement. S3 is not a Memcached replication group. Caveat: Redis replicas are asynchronous, so a failover can lose the last writes, and the application must reconnect to the primary endpoint. Operational check: the replication group should show a replica in another node, and a failover test should leave session reads working. Create a Redis replication group with a replica in another node, and point the application at the primary endpoint for writes. Memcached can shard, and it still loses a node's keys when that node fails. S3 is not a cache replica. After a failover test, clients should reconnect and session reads should succeed. Accept that the last asynchronous writes can be lost, and do not promise a single Memcached node as highly available.