Hello,
I have a two-node redis cluster, with a single RW node and read replica. I'm making a steady stream of read requests to the cluster via redis-py with read_from_replicas=True. With this mode, 50% of read requests go to the read replica and 50% go to the RW node in a round-robin fashion, as per the docs (https://redis-py.readthedocs.io/en/stable/connections.html). In my use case, there are periods of large volumes of writes, and in this case load balancing reads between the two nodes would be preferable to a 50%-50% distribution.
Is there any way to get redis to load balance read commands between nodes in a cluster, so that underutilized nodes get proportionally more traffic?
Thanks!
Comment From: zuiderkwast
There is nothing like this built into Redis. You could try to write some external scripts to monitor CPU, memory, etc. but then I don't know how to make the client aware of this.
It seems like a feature in redis-py rather than in Redis itself.