Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Redis support #2182

Closed
jerbob92 opened this issue Oct 12, 2021 · 2 comments
Closed

Improve Redis support #2182

jerbob92 opened this issue Oct 12, 2021 · 2 comments
Labels
feature-request All issues for new features that have not been committed to needs-discussion

Comments

@jerbob92
Copy link
Contributor

jerbob92 commented Oct 12, 2021

Proposal

The Redis support is a little outdated and does not support the following functionality:

  • ACL support, because you can't give it a username
  • Sentinel support

My proposal is to update go-redis v6.15.9 to v8.11.4 to support ACL in Redis 6+ and implement scalers for Redis Sentinel.

Use-Case

ACL

Redis added ACL in Redis 6: to make use of this, the client also needs to support this, which has been added in later versions of go-redis. Updating the client and allowing to pass a username to the scalers will solve this.

Sentinel

Our cluster uses Redis Sentinel, we use HAProxy now to point to the master server, but it's not perfect.
go-redis supports Sentinel out of the box so we just need a way to pass metadata/authentication to support it.

Anything else?

With this change, total Redis support will come to 6 scalers:

  • Redis Lists
  • Redis Streams
  • Redis Cluster Lists
  • Redis Cluster Streams
  • Redis Sentinel Lists
  • Redis Sentinel Streams

The code is really similar and mostly in the same files. When adding the Sentinel support, I tried to make it as much in line with the current codebase, see #2181, however, this could probably be just 1 scaler right? Difference between the different scalers is minimal and we can easily add metadata to decide whether it's standalone, cluster or sentinel and lists or streams.

@jerbob92 jerbob92 added feature-request All issues for new features that have not been committed to needs-discussion labels Oct 12, 2021
@jerbob92 jerbob92 mentioned this issue Oct 12, 2021
5 tasks
@zroubalik
Copy link
Member

@jerbob92 we can close this one, right?

@jerbob92
Copy link
Contributor Author

@zroubalik Yep :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request All issues for new features that have not been committed to needs-discussion
Projects
None yet
Development

No branches or pull requests

2 participants