Redis sentinel with self hosted deployment

Hello,

Is it possible to connect the LangGraph Agent Server to a high-availability Redis setup using Redis Sentinel in a self-hosted deployment?

From the documentation, it seems that only standalone Redis or Redis Cluster mode (REDIS_CLUSTER=true) are supported. However, Redis Sentinel uses a different connection mechanism and typically requires a Sentinel-aware client rather than a single redis:// URI.

Does the Agent Server currently support Redis Sentinel directly, or is the recommended approach to expose a stable Redis endpoint (for example via a service, proxy, or load balancer) in front of the Sentinel-managed master?

Thanks in advance.

Hi @gdrouet

Redis Sentinel is not natively supported by the LangGraph Agent Server at the moment.

As you noticed, the documented modes are:

  • Standalone Redis (redis://...)

  • Redis Cluster (REDIS_CLUSTER=true)

Sentinel requires a Sentinel-aware client (multiple sentinel endpoints + master name), which isn’t something the Agent Server currently exposes configuration for.


Recommended Approach

The typical workaround in self-hosted setups is:

  • Put a stable endpoint in front of the Sentinel-managed Redis master

    • Kubernetes Service

    • HAProxy / Envoy

    • Internal load balancer

    • Or another proxy layer

  • Point the Agent Server to that stable redis:// endpoint

This keeps failover logic handled by Sentinel, while the Agent Server only talks to a single, consistent address.


Why This Is Preferred

  • Keeps Agent Server config simple

  • Avoids embedding Sentinel-specific logic

  • Works cleanly with containerized / Kubernetes deployments

  • Aligns with how many production HA Redis setups are exposed


If native Sentinel support is something you need long-term, it might be worth opening a feature request — but today, proxying a stable master endpoint is the practical solution.

Hope that helps!

@gdrouet

Did you try updating the `REDIS_URI` to point it towards specifying one Sentinel host i.e. the master e.g ‘redis+sentinel://[[username]:[password]]@[host-or-ip]:[port]/[service-name]/[db-number]‘ I think so that might work but Agent server will loses its ability to discover the Redis master, even if the other sentinels and Redis itself are perfectly healthy.
OR
Just use a load balancer which is pointed towards the Sentinel nodes and point the REDIS_URI at that single endpoint

@gdrouet Checking if you tried the above solution? :smiley:

Finally we switched to a cluster mode :wink:

1 Like

Excellent @gdrouet will be really helpful for the community, if you can mark the comment as solution.