Proxy-based disaster recovery

Proxy-based disaster recovery for Active-Active databases.

Redis Enterprise Software Redis Cloud

If you add a lightweight proxy software component between the clients and the Active-Active database, applications can dynamically route requests to the optimal endpoint.

Advantages:

  • Proxies provide proactive and reactive health check methods, such as polling target health periodically using either a TCP connection or an HTTP request, or monitoring live operations for errors.

  • Proxies can be configured to run Active-Active health checks, such as the lag-aware database availability requests.

  • If an Active-Active database member fails, a proxy can automatically detect the issue and redirect traffic to a healthy Active-Active database member without requiring DNS propagation delays or client disconnections. This enables fast, controlled failover and minimizes downtime.

Considerations:

  • If you do not use DNS to resolve the Active-Active database members' FQDNs:

    • The proxies must have static IPs.

    • If you add a new node to the cluster, you must configure the proxy with the new endpoint.

    • A configuration syncer component is required to discover topology changes and reconfigure the proxy.

  • Proxies introduce latency.

  • Proxy failures can disconnect clients and cause disruptions.

Avoid concurrent access across replicas

If concurrent access across replicas must be avoided in every scenario, you can use a centralized proxy with a standby proxy instance for high availability.

Advantages:

  • Prevents concurrent access across replicas.

  • Failover and failback are simultaneous regardless of the Active-Active health check policy.

Considerations:

  • Although the proxy can be monitored with a watchdog and restarted in case of failure, this setup does not grant high availability for the proxy.

  • Limited scalability.

The following diagram shows a centralized proxy architecture with a standby proxy instance:

Diagram of a centralized proxy architecture with active and standby proxy instances routing to Active-Active database members

Co-locate to reduce latency and improve scalability

To reduce latency and improve scalability, you can use a proxy co-located in the application server.

Advantages:

  • Reduced latency.

  • Better scalability.

Considerations:

  • Failover and failback might not be simultaneous depending on the Active-Active health check policy.

The following diagram shows a co-located proxy architecture where each application server has its own proxy:

Diagram of co-located proxy architecture where each application server has its own proxy instance

Pool proxies for scalability

You can use a pool of active proxies to scale the routing layer. Application servers can balance new connections to the pool of proxies using a round-robin distribution algorithm, such as DNS-based round robin.

Advantages:

  • High availability without complex monitoring and failover solutions.

  • Flexible scalability of the routing layer.

Considerations:

  • Concurrent access across replicas is possible, but can be mitigated using database availability API requests.

The following diagram shows a pool of proxies:

Diagram of a pool of active proxy instances
RATE THIS PAGE
Back to top ↑