All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Imperceptible scaling

Last Updated:Nov 27, 2024

Tair (Redis OSS-compatible) provides a new scaling solution for cluster instances based on the next-generation management architecture. When you adjust the number of shards for a cluster instance, the scaling solution effectively prevents application-side errors such as -ASK and -TRYAGAIN to enable imperceptible scaling.

Features

The imperceptible scaling solution for Tair (Redis OSS-compatible) cluster instances provides the following features:

  • Efficient scaling management: uses a centralized control component to achieve efficient and precise control over cluster behavior.

  • Seamless data migration: modifies the underlying data replication logic at the engine level to ensure that instances can continue to operate without transient connections or entering a read-only state.

  • Elastic resource scaling: supports on-demand elastic scaling to meet resource requirements in different business scenarios.

Compared with the common scaling solutions for native Redis clusters, the imperceptible scaling solution has the following advantages:

  • Error-free requests: During the scaling process, application-side requests do not encounter errors. This greatly improves service stability and user experience.

    Note

    The imperceptible scaling solution may not be effective in all scenarios. In some rare cases, errors may still occur on the application side. For more information, see Precautions. Therefore, we recommend that you do not rely entirely on this solution and have contingency plans in place.

  • Minimal latency: During the scaling process, the application may experience delays that range from hundreds of milliseconds to a few seconds, depending on the write traffic. However, this does not affect normal business operations in most cases.

Applicable scope

The imperceptible scaling solution applies to the following types of instances:

  • Redis Open-Source Edition 5.0 instances of minor version 5.2.0 or later

  • Redis Open-Source Edition 6.0 instances of minor version 6.0.2.0 or later

  • Redis Open-Source Edition 7.0 instances

  • Tair (Enterprise Edition) DRAM-based instances that are compatible with Redis 5.0 (minor version 5.0.34 or later)

  • Tair (Enterprise Edition) DRAM-based instances that are compatible with Redis 6.0

  • Tair (Enterprise Edition) DRAM-based instances that are compatible with Redis 7.0

Precautions

  • Classic cluster instances in proxy mode do not support the imperceptible scaling solution.

  • Client requirements:

    • During the scaling process, the client must not disconnect from the instance. However, increased latency may lead to command timeouts. Therefore, the client must be configured to automatically reconnect to the instance when timeouts occur.

    • If the instance is a cluster instance in direct connection mode, the client must be able to properly handle the MOVED command.

    Note

    We recommend that you use a client recommended by Alibaba Cloud.

  • Command usage requirements:

    • During scaling operations, blocking commands may result in errors.

    • During scaling operations, pub/sub commands do not ensure consistency and may cause errors based on how the client handles the commands.