Updated on 2025-05-07 GMT+08:00

Product Architecture

GeminiDB Redis API supports the following instance types: proxy cluster, Redis Cluster, and primary/standby.

  • Both proxy cluster and Redis Cluster instances support horizontal and vertical scaling and can handle millions of QPS and tens of terabytes of data. Redis Cluster is recommended because it features low latency, high concurrency, and high scalability.
  • All proxy cluster and Redis Cluster instances can be read and written, improving resource utilization. Shared storage provides high availability. In the primary/standby architecture, only a primary instance can be read and written. Therefore, the cluster architecture is recommended.

The following table lists architecture types and application scenarios.

Type

Description

Architecture

Application Scenarios

Proxy cluster

In a sharded cluster, a Proxy Cluster GeminiDB Redis instance is connected through proxies to a standalone Redis instance, Redis Sentinel, and Redis Cluster.

For details, see Figure 1.

  • Advantages: This type is easy to use. Sharding is not a concern. You can use a cluster like a single node. The proxies can distribute your requests to corresponding nodes for processing.
  • Application scenario: The usage logic is simplified, and you do not need to pay much attention to shard management. For example, this type is recommended if you want to migrate data from a single node to a cluster and it is inconvenient to modify code on a client. Redis Cluster can be used to meet higher requirements on concurrency and latency.

Redis Cluster (recommended)

With the native Redis Cluster architecture, a Redis Cluster GeminiDB Redis instance is directly connected to Redis Cluster.

For details, see Figure 2.

  • Advantages: A Redis Cluster GeminiDB Redis instance is directly connected to clients, so there is less latency. A single shard of a Redis Cluster instance can handle more concurrency than that of a proxy cluster instance. Up to 128 nodes are supported.
  • Application scenario: This type is applicable to services that are more sensitive to latency and have higher requirements on concurrency and scalability.

Primary/Standby

A primary/standby instance is compatible with a standalone Redis node and Redis Sentinel.

For details, see Figure 3.

A primary/standby Redis instance can be seamlessly switched to a primary/standby GeminiDB Redis instance. No code modification is required. Cluster instances provide better performance and scalability. They are recommended for new business.

Figure 1 Proxy cluster
Figure 2 Redis Cluster
Figure 3 Primary/Standby