You need to enable JavaScript to run this app.
导航

实例选型指导

最近更新时间2023.08.15 09:44:36

首次发布时间2022.10.17 21:23:46

使用缓存数据库 Redis 版实例前,您需要结合使用场景、业务负载、产品性能、价格等因素,选择符合您业务且性价比最高的 Redis 实例。

选型流程

在具体业务中,您可以参考如下步骤完成 Redis 实例选型:

1. 预估所需数据库资源

根据如下业务指标来初步预估所需的数据库资源。

业务指标说明
数据量业务需要存储在 Redis 中的数据量峰值。
请求量(QPS)业务每秒对 Redis 的请求量峰值。
带宽(BPS)业务每秒对 Redis 请求的数据量峰值。
连接数客户端对单个 Redis 实例的连接数峰值。

2. 选择实例架构

根据预估出的资源需求,先选择合适的实例架构。缓存数据库 Redis 版当前支持如下两种架构。

实例架构简介适用场景

启用分片集群

启用分片集群的 Redis 实例可以通过分片化分区来增加缓存的容量和并发连接数。每个分片包含 1 个主节点和 1~5 个从节点,分片本身默认对外不可见。分片中主节点故障后,同一分片中的从节点节点会升级为主节点来继续提供服务。

  • 数据量较大或数据量快速增长的场景。
  • 整体读写请求压力较高的场景。
  • 吞吐密集,大流量且性能要求较高的场景。
  • 有持久化需求的业务。

未启用分片集群

不启用分片集群的Redis实例仅包含 1 个分片,分片中主从节点的数据通过实时复制机制保持一致。当主节点故障后,从节点自动升级为主节点。

  • 对 Redis 的命令兼容性要求较高的业务。
  • 数据量较小,且压力可控的业务。
  • 所使用的 Redis 数据元素相对简单的业务。
  • 有持久化需求的业务。

3. 确定实例规格

在已选择的实例架构基础上,确定合适的实例规格,包括节点规格、分片数、每分片节点数等。

说明

在需要的实例总内存相同的情况下,推荐使用更小规格节点 + 更多分片的组合。例如,业务所需的总内存为 8GiB,相较于选择 4GiB/每分片 x 2 分片的组合,更推荐使用 2GiB/每分片 x 4 分片或 1GiB/每分片 x 8 分的组合。因为选择后面两种使用了更多分片的组合,会使实例整体的可用连接数和带宽增加,同时还会缩短 Redis 的快照、主从复制、实例变更配置的耗时。

选项说明

节点规格

缓存数据库 Redis 版支持不同的节点规格,每种规格支持的最大连接数和QPS参考值都是固定的(分别为 5,000 和 80,000),但各个规格支持的内存和带宽是不同的。关于各规格节点性能详情,请参见实例规格
因此,当选择节点规格时,主要考虑您的业务所需的数据量和带宽需求。

分片数

  • 未启用分片集群的 Redis 实例默认仅使用了一个分片,如果未启用分片集群的 Redis 实例可以满足您的业务场景,那么您无需考虑分片数。
  • 针对已启用分片集群的 Redis 实例,实例下的每个分片所使用的节点规格都是一样的。因此,实例整体的性能 = 分片数 x 各分片的规格对应的性能(包括内存、带宽、连接数、QPS 参考值)。关于各规格节点性能详情,请参见实例规格

每分片中的节点数

缓存数据库 Redis 版的每个分片支持使用 2~6 个节点,其中一个为主节点,剩下的为从节点,您可以从如下两个因素来确认需要的节点数:

  • 可用性要求:节点数越多,实例的可用性越有保障。
  • 业务的读写请求量:如果业务读请求负载较高,您可以选择更多的节点数,并开启实例的读写分离功能,将读请求分布在多个从节点上来扩展读能力。
    • 无论是启用分片还是不启用分片集群的 Redis 实例都支持设置读写分离功能。您可以通过读写分离功能,将写请求发往主节点处理,而读请求全部由从节点处理,提升 Redis 实例的整体读写能力。
    • 当数据从主节点同步至从节点时,会存在一定的延迟。因此读写分离功能不适用于数据一致性要求高的业务。更多详情,请参见读写分离