Redis宕机如何解决?

时间:2024-03-18 22:09:58

redis宕机如何解决?如果是项目上线的宕机呢?

宕机: 服务器停止服务

如果只有一台redis

肯定会造成数据丢失。

多台reids或者是Redis集群

从的redis宕机:

配置主从复制的时候才配置从的redis, 从的redis会从主的redis中读取主的redis的操作日志,来达到主从复制。

1.只要把从的redis重新启动,再和主的进行连接就可以
2.如果从redis上面做数据的持久化,可以直接连接到主的上面,只要实现增量备份。

主的Redis宕机怎么解决

要先确认是否做持久化,若没有做持久化,重新启动主的redis就会造成数据丢失。

先把从的redis升级为主的redis. 执行slave of one命令
原来的主的可以重新启动,作为从的redis, 连接到主的redis上面做主从复制。
可以使用Redis 提供哨兵 机制来简化上面的操作。

以上过程很容易配置错误,可以使用简单的方法:redis的哨兵(sentinel)的功能。

哨兵(sentinel)的原理:

Redis提供了sentinel(哨兵)机制通过sentinel模式启动redis后,自动监控master/slave的运行状态,基本原理是:心跳机制+投票裁决。每个sentinel会向其它sentinal、master、slave定时发送消息,以确认对方是否“活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的“主观认为宕机” Subjective Down,简称SDOWN)。若"哨兵群"中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称ODOWN),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置。
补充:
哨兵的配置:1. 复制redis中sentinel.conf,根据情况进行配置
Redis宕机如何解决?
可以使用哨兵搭建高可用服务器,哨兵模式还提供其他功能,比如监控、通知、为客户端提供配置等。关于使用哨兵搭建高可用服务器,可以参考https://blog.csdn.net/shouhuzhezhishen/article/details/69221517来实现。