I have been using Lettuce as a Redis client to talk to AWS Elasticache. The specific configuration that I am currently using is the Static Master/Slave with predefined node addresses. Recently, the primary node took a tumble kicking off a failover process and eventually causing all application write requests to fail with the following error:
redis.RedisCommandExecutionException: READONLY You can't write against a read only slave.
Since then, I have been doing some research and realized that Standalone Master/Slave is probably the configuration that fits the purpose of talking to Elasticache (in non-clustered mode) as according to the AWS docs, the client should always only talk to the primary endpoint - which gets updated to point to the new master in an event of a failover.
This has left me wondering, why does the author make the recommendation of using the Static Master/Slave with predefined node addresses method when using AWS Elasticache?
Any thoughts?
Configuration: 1 Master and 2 Slave nodes