Brief Introduction

The ApsaraDB for Redis standard version adopts a dual-copy structure and works in master/slave replication mode. The master node provides daily service access, and the slave node provides high availability. When the master node fails, services are automatically switched over to the slave node within 30 seconds to ensure smooth service running.



Features

  • Reliability

    • Service reliability

      The service adopts a dual-host master/slave architecture, with the master and slave nodes located on different physical machines. The master node provides access to external networks. Users can use Redis command lines or common database clients to add, delete, modify, or view data. When the master node fails, the self-developed HA system will automatically switch over services to the slave node to ensure smooth service running.

    • Data reliability

      The data persistence function is enabled by default, so all data is written to the disk. Redis supports the data backup feature that allows you to clone or roll instances back to a backup set. This effectively reduce impact caused by incorrect data operations. In addition, Redis supports intra-city disaster tolerance.

  • Compatibility

    Developed based on Redis 2.8, the ApsaraDB for Redis standard version is fully compatible with Redis protocol commands. Self-built Redis databases can be smoothly migrated to the Redis standard version. In addition, we provide a data transmission tool (DTS) for incremental migration to ensure stable service transition.

  • Alibaba Cloud self-developed features

    • Failover system (HA)

      Redis services include the HA switching system to detect the master node status in real time. By doing so, Redis can effectively resolve disk I/O failures and service exceptions caused by CPU problems to fails over services from the master node to the slave node and ensure high availability of services.

    • Master/slave replication mechanism

      Alibaba Cloud has customized Redis' master/slave replication mechanism by using incremental logs to replicate and transmit data. When backup replication between the master and slave nodes is interrupted, the impact on system stability is extremely low. Therefore, the disadvantages of native Redis replication are prevented.

      Disadvantages of native Redis replication mechanism:

      • When the replication is interrupted, the slave node will immediately initiate psync. If psync's attempt to deploy synchronization fails, all RDB data will be synchronized and sent to the slave node.

      • Full Redis synchronization may cause full backup of the master node and process forks. As a result, a pause of milliseconds or seconds is caused on the master node.

      • Redis process forks lead to copy-on-write, consuming the memory usage of the process at the master node. In extreme cases, memory overflow may be caused at the master node so that programs exit unexpectedly.

      • The backup files generated by the master node consume the I/O and CPU of the server disk.

      • Sending GB-sized backup files causes server network exits to burst and I/O throughput of the disk to increase. This may affect the service response time and generate other side effects.

Use Scenarios

  • Servicces that require high compatibility with the Redis protocol

    The standard version is completely compatible with the Redis protocol, so you can smoothly migrate your services.

  • Persistent data storage

    The standard version provides a persistence mechanism and backup and recovery mechanism to ensure high data reliability.

  • Control of performance pressure of a single Redis instance

    Running based on a single-thread mechanism, Redis is recommended for services that require the performance of under 100,000 QPS. For a higher performance demand, use the cluster version.

  • Services using simple Redis commands and a few sorting and computing commands

    Because of Redis' single-thread mechanism, CPU performance has become a bottleneck. The cluster version is preferred for services involving many sorting and computing commands.