Skip to content

Active/Active use cases #35

Description

@AtharvaGore

Primary Benefits of Active/Active Replication

  1. Active-Active Geo-Distributed Workloads
    Deploying nodes in multiple regions (e.g., US-East, EU-West) where each node serves local clients. Writes in one region replicate to others, reducing latency for globally distributed apps. Ideal for real-time systems like gaming leaderboards, session stores, or collaborative editing tools needing low-latency writes across regions.

  2. High Availability and Write Scalability
    Eliminates single-master bottlenecks since all nodes accept writes, improving throughput. Suitable for workloads requiring continuous write availability (e.g., IoT telemetry ingestion, logging).

Potential Use Cases Documented by Valkey Users

  • Multi-Region Caching
    With a multi-region DR architecture, if the cache is not multi-region, traffic shifting from one region to another can result in a large number of cache misses. This puts additional load on the backend database as the missing cache entries are replenished, potentially overwhelming it.

    An active-passive cache setup works well for only two regions. Two active-passive clusters are created, with one cluster active in each region and the other passive. When one region is evacuated, its traffic shifts to the other region, and the passive cluster fails over at the same time. The healthy region then has two active cache clusters. This makes it complicated to determine which cluster should handle a given read or write.

    This approach also does not scale well beyond two regions. Traffic from an evacuated region may need to be distributed across multiple other regions, while only one cluster can be active at a time. An active-active setup avoids this issue by allowing any available region to handle both reads and writes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions