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

Redis Sentinel support #137

Open
bootc opened this issue Mar 16, 2020 · 7 comments
Open

Redis Sentinel support #137

bootc opened this issue Mar 16, 2020 · 7 comments
Labels
enhancement New feature or request needs-feedback We'll only proceed once we hear from you again

Comments

@bootc
Copy link

bootc commented Mar 16, 2020

Our production Redis clusters use Sentinel for High Availability. Please add Sentinel support so that Icinga DB can automatically route requests to active nodes in the cluster as necessary.

@Al2Klimov Al2Klimov added the enhancement New feature or request label Apr 20, 2020
@lippserd
Copy link
Member

Team, does anyone know what specifics we need to change to support this?

@lippserd lippserd added the needs-feedback We'll only proceed once we hear from you again label Aug 12, 2021
@julianbrost
Copy link
Contributor

On the Go side, this should be rather trivial as the lib we use supports that, we'd just have to create the client: https://pkg.go.dev/github.com/go-redis/redis/v8#NewFailoverClient

However, on the C++ side, we'd have to implement all that failover stuff. I don't know how complex that would be.

Also, the current HA model for Icinga 2 + Icinga DB expects one Redis server per Icinga 2 instance, so if you want HA, you just add a second Redis instance. Also note that even if we supported this, you couldn't have two Icinga 2 instances write into the same cluster.

So I don't really see a benefit for Icinga DB in supporting this right now.

@Al2Klimov
Copy link
Member

one Redis server per Icinga 2 instance

... which ideally runs on the same machine as Icinga 2, so IMAO that feature just doesn’t fit in our concept.

@yoshi314
Copy link

yoshi314 commented Apr 22, 2022

can an external redis cluster be used? i typically use redis-ha cluster in k8s for redis backends.

@julianbrost
Copy link
Contributor

If it acts like a standard Redis server, it will be fine. I don't know if that's the case. Is redis-ha the same thing as Redis Sentinel?

@yoshi314
Copy link

yoshi314 commented May 6, 2022

it's composed of optional haproxy frontend (to manage connections from outside of k8s) and 3 nodes with sentinel.

@Al2Klimov
Copy link
Member

Wait. If a Redis sentinel cluster can be frontended by a HAproxy, one could also use shuffling DNS or iptables. So we don’t necessarily have to support this by ourselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs-feedback We'll only proceed once we hear from you again
Projects
None yet
Development

No branches or pull requests

5 participants