![配置后备 redis 服务器](https://linux22.com/image/601346/%E9%85%8D%E7%BD%AE%E5%90%8E%E5%A4%87%20redis%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我使用 redis 作为缓存服务器。我能否以某种方式配置多个 redis 服务器,以便即使其中一些服务器离线,缓存仍可完全正常运行(读/写)?
我研究了主服务器->从服务器,但我发现的问题是,如果主服务器发生故障,并且我允许写入从服务器,则一旦主服务器再次启动,它们就会被覆盖。现在主服务器只提供旧数据。
我能想到的唯一解决方案是禁用写入磁盘功能,但这很糟糕,因为如果我必须重新启动主服务器,我就会失去一切。而且我猜,如果主服务器消失了,从服务器将不再同步。
答案1
Redis 中没有主-主设置。
当您的主服务器离线并且您允许写入从服务器时,会发生什么情况:
从服务器将成为主服务器。
显然,这需要更改配置(可以在运行时完成)。
当您恢复旧主服务器时,您必须同步新主服务器的更改。
在停机后简单地启动主服务器将会导致不一致。
有一个很好的解释关于如何在不停机或丢失数据的情况下重新启动 Redis:
http://redis.io/topics/admin