Updated on 2025-01-03 GMT+08:00

Product Architecture

GeminiDB Redis supports the following architectures: 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 instances in a proxy cluster or Redis Cluster 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

With a sharded cluster architecture, a cluster instance can be accessed through proxies and is compatible with a single Redis node, 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 proxy can distribute your requests to corresponding GeminiDB Redis instances 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)

A sharded cluster is created without proxy components and is compatible with native Redis Cluster.

For details, see Figure 2.

  • Advantages: This type of instance does not have a proxy, and delivers higher concurrency of a single shard than the proxy cluster instance. A client is directly connected to shards at lower latency. 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 single Redis node and Redis Sentinel.

For details, see Figure 3.

This type is alternative to Redis master-replica architecture. No application code needs to be refatored. The cluster architecture is recommended for new applications because of its better performance and scalability.

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