nor*_*gon 37 high-availability redis
如何在没有停机时间的情况下升级到更新版本的Redis?Redis从站是只读的,因此您似乎必须取下主站,并且在您等待重新加载数据库时,您的站点将是只读45秒或更长时间.
有没有解决的办法?
kaj*_*aji 29
Redis团队有很好的文档
核心步骤:
完整文档:
Tom*_*son 22
使节点脱机时,使用SLAVEOF命令将从站升级为主站,然后在将其重新联机时将其设置为从站,它将从联机节点复制所有数据.
您可能还需要确保您的客户端可以适当地处理更改/丢失的主节点.
如果你想变得非常花哨,你可以设置你的客户端,如果它检测到写入主服务器时出错,则提升它.
Abh*_*bhi 10
您可以使用Redis Sentinel执行此操作,Sentinel将自动将从属服务器提升为新主服务器.你可以在这里找到更多信息http://redis.io/topics/sentinel.
Sentinel是一个用于管理redis服务器的系统,它可以持续监控redis主站和从站,每当主站发生故障时,它会自动将从站升级为主站.当旧的主人是UP时,它将被作为新主人的奴隶.
这里不需要停机或配置文件的手动配置.您可以访问上面的链接,了解如何为您的redis服务器配置sentinel.
注意,您可能必须检查并设置以下配置以写入从站.("因为Redis 2.6默认情况下奴隶是只读的")
redis-cli config set slave-read-only no
Run Code Online (Sandbox Code Playgroud)
- 例子
-bash-4.1$ redis-cli info
Server
redis_version:2.6.9
-bash-4.1$ redis-cli slaveof admin2.mypersonalsite.com 6379
OK
-bash-4.1$ redis-cli set temp 42
(error) READONLY You can't write against a read only slave.
-bash-4.1$ redis-cli slaveof no one
OK
-bash-4.1$ redis-cli set temp 42
OK
-bash-4.1$ redis-cli get temp
"42"
-bash-4.1$ redis-cli config set slave-read-only no
OK
-bash-4.1$ redis-cli slaveof admin2.mypersonalsite.com 6379
OK
-bash-4.1$ redis-cli set temp 42
OK
-bash-4.1$ redis-cli get temp
"42"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33428 次 |
| 最近记录: |