Redis Enterprise 主动-被动 使用案例
最后更新于 2024 年 4 月 18 日
问题
Redis Enterprise 主动-被动(使用“Replica Of”功能创建)部署涵盖哪些使用案例?
回答
数据迁移
利用“Replica Of”功能,可以将数据从 Redis Enterprise 数据库或 Redis OSS Server 迁移到目标 Redis Enterprise 数据库,用于数据迁移场景。
数据整合
多个主数据库可以复制到一个单一数据库中。此功能可以将来自多个数据库的数据整合到一个单一数据库中。注意:名称冲突的键将在目标副本数据库中被覆盖;一个好的做法是为不同的数据库使用不同的命名空间。例如,为了整合来自 hhrr 和 devs 数据库的数据,相应的键空间可以在前面加上 hhrr:
和 devs:
前缀。
缩减数据库规模
Redis Enterprise 允许通过重新分片数据库来实现纵向扩展(或“扩容”),从而允许多个分片利用一个或多个 Redis Enterprise 节点上的多个资源。Redis Enterprise 不支持缩减规模,因此如果需求是减少数据库的分片数量,则应创建一个具有所需分片数量的新数据库,然后该新数据库应复制原始数据库的数据(使用“Replica Of”功能),最后在迁移完成后,再放弃原有的数据库。
灾难恢复
副本数据库(最初处于被动状态)可以提升为主要副本。如果主数据库不可用,客户端应用程序应将工作负载转移到副本。数据库副本应在不同的集群中创建。
读取可扩展性
对一个数据库或多个数据库副本进行读取扩展。Redis Enterprise 数据库可以复制到一个或多个数据库副本,以提高只读吞吐量。副本可以托管在同一源数据库集群中,也可以托管在不同的远程集群中。
主动-被动与主动-主动
请注意,在连接错误的情况下,副本同步可能会从上次位置重新开始,或者可能需要从源端进行完全重新同步,导致大量数据传输并加载到数据库副本中。请参阅文档页面中的同步错误。由于这些情况,可能更倾向于配置主动-主动地理分布式数据库,它比主动-被动数据库更能容忍网络分区。使用主动-主动对于灾难恢复可能特别方便。当副本用作备用数据库时,如果不可能发生冲突,可以放宽主动-主动数据库的容量模型(主动-主动数据库的容量模型通常需要双倍于数据所需的内存量,而仅用于灾难恢复的主动-主动副本可以拥有更方便的分配内存量)。如果您选择主动-主动,请验证模块的功能:并非所有模块都支持主动-主动(例如 RedisGraph)。