您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在不同的机器上使用Redis复制(多主机)

在不同的机器上使用Redis复制(多主机)

您正在寻求一种主动-主动(又称为多主设备)解决方案,但您的问题表明您可能不需要它。

如果只要求其中一个数据库可用于写操作,即所有写操作都可以进行,则可以使用Redis的标准主从复制来实现。指导您的应用程序使用主服务器进行写入,并(有可能)让您的从服务器也进行某些读取。如果主服务器发生故障,则将第二个DC中的从服务器升级为新的主服务器,并重定向您的应用程序/客户端以使用它。使用Redis的Sentinel可以实现监视和提升。

实施这种类型的设置时,您需要考虑一些事项。首先请注意,Redis的复制是异步的,因此根据您的主服务器的负载,写入量和复制的网络链接质量,在发生故障转移的情况下,您可以放弃一些最近的更新。其次,在同一主题上,DC间的网络链接可能倾向于受限的带宽和增加的延迟- 您应配置Redis来处理此问题,并可能对该流量使用压缩(例如,通过SSH隧道)。最后,要准确检测故障,您需要在不同位置至少有3个Sentinel。尽管有这些挑战,但这都是可行的。

也就是说,Redis 支持可对任何数据库进行任意写入的多主机设置。如果实际上是您需要的,请考虑使用其他解决方案。

注意:根据您的确切要求,如果可以保证对不同DC的写入是互斥的(即,每个DC仅可写入另一个DC不共享的键的不同子集),则可以将两个数据库与主数据库一起使用在每个DC中,在从属设备中。

其他 2022/1/1 18:14:31 有620人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶