I'm reading a lot of documentation around Redis network configurations, and I'm confused about how it seems the requirements in the architecture mental model I had, don't seem to map with the current options.
First of all: I don't need sharding, because scalability is not an issue at the moment. So one master for now (node M).
Second: I want redundancy, that is, if a master node fails, I want a second node to take over, and conduct the requests that the client is sending them. Let's call this the first slave: the fail-over slave (node FS).
Third: I also want another replica node, that is a slave but that only serves read-only queries. If a client connects to it, and the client tries to modify data, the node should give an error. Let's call this the second slave: the read-only slave (RS).
Last: I want fail-over for the read-only slave. That is, in case RS dies, I want another read-only slave to take over its tasks. Let's call this the fourth slave: the fail-over read-only slave (FRS).
Is there a way to configure Redis like this? Seems all deployment modes (was reading this article: https://blog.octo.com/en/what-redis-deployment-do-you-need/) have a single master except the Cluster one. Now, it seems my "FS" node would be a second master because it accepts write-queries, however, the Cluster configuration defaults to Sharding enabled and seems there's no normal way to disable it, unless I'm missing something.