在分布式系统中 , 涉及一个很关键的问题 “单点问题” – 如果某个服务器只有一个节点 , 那么这个服务器挂了之后 , 后续就无法继续提供服务了 . 因此 , 在分布式系统中 , 一般会部署多个节点 , 来提供更稳定 , 更高效的服务 .
主从模式
部署多个Redis节点的方式一般会使用 “主从模式” , 即部署多个Redis节点 , 其中一个Redis节点为主节点 (master Redis), 其他节点为从节点 (slave Redis) . 这种模式的特点是 : 只有主节点可以写数据 , 从节点只能读数据 .
1. 主从模式的好处
- 读写分离 : 使用主从模式 , 可以实现数据的读写分离 , 提高服务器的读写负载能力
- 数据冗余 : 使用主从模式 , 可以实现数据备份 .
- 负载均衡 : 在读多写少的场景 , 多个Redis从节点可以分担读数据请求 , 减轻Redis的压力
- 故障恢复 : 主节点出现问题时 , 可以由从节点提供服务 , 实现故障恢复 .
2. 怎么建立主从关系
- 一个节点执行slaveof no one 之后 , 该节点就会成为主节点
- 一个节点执行slaveof 主节点ip 主节点端口 之后 , 该节点就会成为主节点的从节点
使用命令建立的主从关系是暂时的 , 当Redis重启之后 , 这个主从关系就会失效 , 要实现持久化的主从关系 ,就要在redis的配置文件中进行配置 .
3. 怎么断开主从关系
- 从节点执行slaveof no one 命令之后 , 从节点成为一个独立的主节点 . – 执行完命令后的从节点不会删除从主节点复制来的数据 , 但是无法获取后续主节点更新的新数据
- 一个节点可以执行 slaveof ip 端口 命令