Only one redis node is handling all the load Only one redis node is handling all the load kubernetes kubernetes

Only one redis node is handling all the load


Golang service is opening just one connection at the start of the application and it is using that for getting data from redis.

This is the reason why. When your application opens a connection, it is of course routed to one of the replicas. Until you keep the connection open you will use the same replica for all your requests.This has nothing to do with how kubernetes services work.

One easy solution would be to open a new connection everytime you need a redis client, but this comes with a performance penalty of course.

Another option would be to open a pool of connections on the client side and use all of them. Every connection should end up in a different replica and this way you should spread the load a little better.