使用 Redis Cloud 开发高可用性和弹性应用程序

设置您的 Redis 云数据库以启用稳定且高可用性的应用程序。

您可以设置 Redis 云数据库和 Redis 客户端库,以确保您的应用程序在意外故障转移事件或网络中断后重新连接到数据库并最大限度地减少数据丢失。

设置数据库

当您创建或编辑数据库时可以打开这些设置。

启用数据持久性

启用数据持久性可让 Redis 将您的数据保存到持久存储介质(例如磁盘),以确保在内存丢失或系统故障时数据可用。

Redis Cloud 支持以下数据持久性选项:

  • 仅追加文件会保留写入操作的记录。这样,您就可以使用该记录重建数据库直至发生故障,从而恢复数据。仅追加文件会在每次写入或每秒更新。

  • 快照是内存数据库的副本,以定期间隔(一小时、六小时或十二小时)拍摄。您可以将数据恢复到快照的时间点

仅追加文件比快照提供更强的保护,但代价是资源和恢复时间。尽管快照恢复速度更快,但数据丢失的风险更高,具体取决于故障与最新快照之间的时间。

如果您不启用数据持久性,数据库发生故障时您的数据可能会丢失。最佳做法是为所有生产数据库启用数据持久性。您可以在创建或编辑数据库时启用数据持久性。

启用复制

数据库复制可实现自动故障转移和更高的容错能力。复制可防止在发生硬件或区域故障时丢失数据。

Redis Cloud 支持以下复制设置:

  • 无复制:您将在一个区域中拥有数据库的单一副本。如果您的数据库发生任何问题,您的应用将无法连接到它。
  • 单区域:您的数据库将拥有一个主数据集和一个位于同一云区域的副本数据集。如果主数据库发生任何问题,副本将接管并成为新的主数据库。您的应用将使用同一终端节点自动连接到新的主数据库。
  • 多区域 (或多可用区):主数据库及其副本存储在不同的可用区中。这意味着,如果整个可用区不可用,您的应用将自动连接到新的主数据库区域。

您可以在创建数据库时启用复制。创建数据库后,您可以在无复制和单区域复制之间切换。但是,您无法从无复制或单区域复制切换到多区域复制。

对于任何需要高可用性的数据库,最佳做法是启用复制。

设置手动维护时段

Redis 会根据需要维护您的 Redis Cloud 订阅和数据库,以确保您的数据库运行最稳定、最新版本的 Redis。默认情况下,Redis 将自动执行维护,同时尽可能限制服务中断。

对于稳定的应用程序,您可能希望控制 Redis 何时可以对您的数据库执行维护。对于 Redis Cloud Pro 订阅,您可以设置手动维护时段,以确保非紧急维护将在设定的时间进行。配置或更改维护时段不会对您的订阅或数据库产生任何影响。

Redis Cloud Essentials 数据库根据其所在区域设置了维护时段。有关详细信息,请参阅Essentials 维护。

设置 Redis 客户端

当您开发应用程序时,如果您首选的客户端可以使用特定的 Redis 客户端功能,最好使用它们来连接到 Redis Cloud。

请参阅客户端以了解如何连接官方 Redis 客户端。

重新尝试连接

某些客户端允许您在连接失败时重新尝试连接数据库。对于这些客户端,我们建议您实施重新尝试连接以确保高可用性和连接稳定性。

查看您的客户的文档以了解更多信息。

刷新 DNS

您的应用程序可能会在计划维护期间或由于其他意外原因与数据库断开连接。大多数 Redis 客户端都设置为在重新连接到数据库时刷新其 DNS 地址,您无需执行任何进一步的操作。如果您在维护期间遇到超过一分钟的连接问题,则应刷新 DNS 条目。

根据客户端的不同,可能会建议您完全关闭 DNS 缓存。请参阅客户端的文档以了解更多信息。

使用 WAIT 和 WAITAOF 命令

WAIT和WAITAOF命令会阻止当前客户端直到所有先前的写入命令在副本之间持久保存。使用这些命令,您的应用程序可以保证在副本之间记录已确认的写入。

有关更多信息,请参阅使用 WAIT 命令实现强一致性

更多信息

给此页面评分
返回顶部 ↑