Reputation: 1
How to configure Redis Sentinel for hundreds of microservices on different languages without rewriting code?
We have an infrastructure with hundreds of microservices written in various languages (Go, Python, Java, PHP, etc.). Some of them face issues integrating with Redis Sentinel, as the modules used are either outdated or poorly support Sentinel.
Rewriting the code is challenging due to:
Is there a reliable solution with minimal latency that can ensure high availability without significant code changes?
We tried using HAProxy for handling Redis Sentinel failovers, but we encountered significant latency issues, which heavily impacted performance. We are looking for a more efficient solution that minimizes delays and doesn’t require rewriting application code.
Upvotes: 0
Views: 46
Reputation: 302
You might benefit from a solution that doesn’t require integrating Sentinel into your application code at all. Take a look at Redis Sentinel Gateway. This solution intercepts Redis Sentinel management and automatically updates master nodes in Kubernetes through a single entry point. You don’t need to modify your microservice code, even if the libraries don’t properly support Sentinel.
Advantages:
• Minimal latency: Redis Sentinel Gateway instantly updates master information, ensuring quick failovers.
• No refactoring required: You can keep your microservices’ code unchanged while handling Sentinel outside the application.
• Kubernetes integration: The gateway automatically updates Kubernetes Endpoints, taking care of the failover process for you.
If your stack runs on Kubernetes, this approach is the best option as all applications can work through a single entry point, eliminating the need to integrate Sentinel support in each microservice.
Upvotes: 0