复制:Redis(已禁用集群模式)与 Redis(已启用集群模式)对比
从 Redis 版本 3.2 开始,您可以创建两种不同类型的 Redis 集群 (API/CLI:复制组) 之一。Redis(已禁用集群模式)集群始终具有单个分区(API/CLI:节点组),包含最多 5 个只读副本节点。Redis(已启用集群模式)集群最多拥有 500 个分区,每个分区中包含 1 到 5 个只读副本节点。

Redis(已禁用集群模式)集群与 Redis(已启用集群模式)集群比较
下表总结了 Redis(禁用集群模式)集群和 Redis(已启用集群模式)集群之间的重要差异。
比较 Redis(已禁用集群模式)集群与 Redis(已启用集群模式)集群 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
功能 | Redis(已禁用集群模式) | Redis(已启用集群模式) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
可修改 | 是。支持添加和删除副本节点,以及纵向扩展节点类型。 | 有限。有关更多信息,请参阅 升级引擎版本 和 扩展 Redis(启用集群模式)集群。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
数据分区 | 否 | 是 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
分片 | 1 | 1 至 500 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
只读副本 | 0 到 5 重要如果您没有副本并且节点失败,就会遇到全部数据丢失的情况。 |
每个分区 0 至 5 个。重要如果您没有副本并且节点失败,则分片中的所有数据将丢失。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
多可用区 | 是,至少 1 个副本。 可选。默认情况下处于打开状态。 |
是 可选。默认情况下处于打开状态。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
快照(备份) | 是,创建单个 .rdb 文件。 | 是,为每个分片创建单个 .rdb 文件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
还原 | 是,使用 Redis(已禁用集群模式)集群中的单个 .rdb 文件。 | 是,使用 Redis(已禁用集群模式)集群或 Redis(已启用集群模式)集群中的 .rdb 文件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
支持 | 所有 Redis 版本 | Redis 3.2 和更高版本 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
可升级引擎 | 是,但有一些限制。有关更多信息,请参阅升级引擎版本。 | 是,但有一些限制。有关更多信息,请参阅升级引擎版本。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
加密 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
符合 HIPAA 要求 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
与 PCI DSS 兼容 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | 版本 3.2.6(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)、4.0.10 及更高版本。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在线重新分片 | 不适用 | 版本 3.2.10(计划终止生命周期,请参阅 Redis 版本生命周期终止计划)及更高版本。 |
我应该使用哪一种?
在 Redis(已禁用集群模式)或 Redis(已启用集群模式)之间进行选择时,请考虑以下因素:
扩展与分区 – 业务需求在发生变化。您需要针对峰值需求进行预置,还是随需求变化进行扩展。Redis(已禁用集群模式)支持扩展。您可以通过添加或删除副本节点来扩展读取容量,或者通过纵向扩展到更大的节点类型来扩展容量。所有这些操作都需要一些时间。有关更多信息,请参阅扩展具有副本节点的 Redis(已禁用集群模式)集群。
Redis(已启用集群模式)支持将数据分配到最多 500 个节点组。您可以根据业务的变更需求,动态更改分片数量。分区的优势之一是您可以将负载分散到更多数量的终端节点上,从而减少峰值期间的访问瓶颈。此外,由于数据可分散到多个服务器上,您可以容纳更大的数据集。有关扩展分区的信息,请参阅扩展 Redis(启用集群模式)集群。
节点大小与节点数 – 由于 Redis(已禁用集群模式)集群只有一个分区,节点类型必须足够大才能容纳所有集群的数据以及涵盖所需开销。另一方面,由于您在使用 Redis(已启用集群模式)集群时可以将数据分区到多个分区上,节点类型可以较小,虽然您需要的节点的数量更多。有关更多信息,请参阅选择节点大小。
读取与写入 – 如果集群上的主要负载是读取数据的应用程序,则您可以通过添加和删除只读副本来扩展 Redis(已禁用集群模式)集群。不过,最多只能有 5 个只读副本。如果集群上的负载为写入密集型负载,则您可以获益于具有多分区的 Redis(已启用集群模式)集群上的额外写入端点。
不论您选择实施什么类型的集群,请确保选择足以满足您现在和未来需求的节点类型。