All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Global Distributed Cache

Last Updated:Dec 20, 2024

Global Distributed Cache for Tair (Redis OSS-compatible) is an active geo-redundancy database system that is developed in-house by Alibaba Cloud to address high latency issues that may arise during cross-region or long-distance access. This system enables you to easily provide services from multiple sites in different regions at the same time. A Global Distributed Cache instance can consist of up to three child instances. Data is automatically synchronized among child instances in real time. Global Distributed Cache is designed to reduce the geographical distance between data and users, consequently lowering access latency and improving the response speed of applications. It also facilitates disaster recovery across different geographical locations.

Background information

As your business expands into multiple regions, cross-region and long-distance access can result in high latency and deteriorate user experience. Global Distributed Cache for Tair (Enterprise Edition) can help you reduce the high latency caused by cross-region access. Global Distributed Cache has the following benefits:

  • Allows you to directly create child instances or specify the child instances that must be synchronized without the need to build redundancy into your application. This significantly reduces the complexity of application design and allows you to focus on application development.

  • Provides the geo-replication capability to implement geo-disaster recovery or active geo-redundancy.

This feature applies to cross-region data synchronization scenarios and global business deployment in industries such as multimedia, gaming, and e-commerce.

Scenario

Description

Active geo-redundancy

In active geo-redundancy scenarios, multiple sites in different regions provide services at the same time. Active geo-redundancy is a type of high-availability architecture. The difference from the traditional disaster recovery design is that all sites provide services at the same time in the active geo-redundancy architecture. This allows applications to connect to nearby nodes.

Disaster recovery

Global Distributed Cache can synchronize data across child instances in both directions to support disaster recovery scenarios, such as zone-disaster recovery, disaster recovery based on three data centers across two regions, and three-region disaster recovery.

Load balancing

In specific scenarios such as large promotional events where you expect ultra-high queries per second (QPS) and a large amount of access traffic, you can balance loads across child instances to mitigate the risk of overloading a single instance.

Data synchronization

Two-way data synchronization is implemented across child instances in a Global Distributed Cache instance. This feature can be used in scenarios such as data analysis and testing.

Architecture of Global Distributed Cache

image

Global Distributed Cache for Tair (Enterprise Edition) is a logical collection of distributed child instances and synchronization channels. Data is synchronized in real time across child instances by using these synchronization channels. A Global Distributed Cache instance consists of the following components:

  • Child instances

    • A child instance is the basic service unit that constitutes a Global Distributed Cache instance. Each child instance is an independent instance. All child instances are readable and writable. Data is synchronized in real time across child instances in both directions. A Global Distributed Cache instance supports geo-replication. You can create child instances in different regions to implement geo-disaster recovery or active geo-redundancy.

      Note

      A child instance must be a Tair (Enterprise Edition) DRAM-based instance.

  • Synchronization channels

    • A synchronization channel is a one-way link that is used to synchronize data in real time from one child instance to another. Two opposite synchronization channels are required to implement two-way replication between two child instances.

      Note

      In addition to append-only files (AOFs) supported by open source Redis, Global Distributed Cache for Tair (Enterprise Edition) includes information such as server-id and opid for synchronization. Global Distributed Cache transmits binlogs over synchronization channels to synchronize data.

  • Channel manager

    • The channel manager manages the lifecycle of synchronization channels and performs operations to handle exceptions that occur in child instances, such as master-replica switchover and replica reconstruction.

Benefits

Benefit

Description

High reliability

  • Global Distributed Cache supports resumable upload and tolerates day-level synchronization interruptions. It is exempt from the limit of the native Redis architecture for incremental synchronization across data centers or regions.

  • Troubleshooting operations such as master-replica switchover and replica reconstruction are automatically performed on child instances.

High performance

  • High throughput

    • For child instances in the standard architecture, a synchronization channel supports up to 50,000 transactions per second (TPS) in one direction.

    • For child instances in the cluster or read/write splitting architecture, the throughput linearly increases with the number of shards or nodes.

  • Low latency

    • The synchronization latency between regions within the same continent ranges from tens of milliseconds to seconds. The average latency is approximately 1.2 seconds.

    • The synchronization latency between regions in different continents ranges from approximately 1 second to 5 seconds. The latency is determined by the throughput and round-trip time (RTT) of links.

High accuracy

  • Binlogs are synchronized to the peer instance in the order in which they are generated.

  • Backloop control is supported to prevent binlogs from being synchronized in a loop.

  • The exactly once mechanism is supported to ensure that synchronized binlogs are applied only once.

Billing

This feature is free of charge. You are charged only for the child instances based on their specifications. Child instances are billed in the same manner as regular instances. For more information, see Billable items.