CacheManager icon indicating copy to clipboard operation
CacheManager copied to clipboard

Config a read-only Redis instance

Open hobojoe opened this issue 5 years ago • 2 comments

Hi,

I am using AWS Redis service and I have a primary server and 1 readonly replica. In my app, most of the cache usage is readonly, so I tried to configure cache manager to have 2 instances, one for Write and another for Read.

But while instantiating the READONLY one, it fails with the message: "No writeable endpoint found"

Is there a way to achieve what I want?

My main purpose is that the replicas sit there only waiting for the primary to go down. I would like to use those to "free" some of the load of the primary node.

Thanks

hobojoe avatar Aug 08 '19 12:08 hobojoe

That's not really supported, no. But, you can trick it by enabling the twemproxy setting I think, which disables a couple of features, including the check for writeable nodes.

You'd have to test that, I cannot really tell what else might throw exceptions

MichaCo avatar Aug 08 '19 13:08 MichaCo

I was just looking at doing the same thing. Using Redis on Azure, highly distributed instances of our app service, so they can't all access the same Redis server. We setup a cluster with many read-only servers. Unfortunately, all writes need to go do a specific server, while reads should come from the instances "local" Redis server. This would be very slick if CacheManager supported it and I can imagine used by many.

jasenf avatar Dec 18 '19 13:12 jasenf