使用 Redis Cloud 开发高度可用且具有弹性的应用程序

设置 Redis Cloud 数据库以启用稳定且高度可用的应用程序。

Redis 云

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

设置数据库

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

启用数据持久性

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

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

  • Append-Only File (仅附加文件) 维护写入作的记录。这允许您使用记录重建数据库,直到故障点来还原数据。Append-only 文件在每次写入或每秒更新时更新。

  • 快照是内存中数据库的副本,定期(1 小时、6 小时或 12 小时)拍摄。您可以将数据还原到快照的时间点。

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

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

启用复制

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

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 命令

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

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

更多信息

为本页评分
返回顶部 ↑