Redis宕机的解决方案

宕机: 服务器停止服务

如果只有一台redis, 肯定会造成数据丢失。

多台reids或者是Redis集群,服务器宕机还有办法。

从的redis宕机怎么解决

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

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


主的redis宕机怎么解决

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

    第一步,在从数据库中执行SLAVEOF NO ONE命令,断开主从关系并且提升为主库继续服务;

    第二步,将主库重新启动后,执行SLAVEOF命令,将其设置为其他库的从库,这时数据就能更新回来;

 可以使用Redis 提供哨兵 机制来简化上面的操作。

哨兵机制的原理: 

Redis提供了sentinel(哨兵)机制通过sentinel模式启动redis后,自动监控master/slave的运行状态,基本原理是:心跳机制+投票裁决。

每个sentinel会向其它sentinal、master、slave定时发送消息,以确认对方是否“活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的“主观认为宕机” Subjective Down,简称SDOWN)。

若"哨兵群"中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称ODOWN),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置。

 哨兵的配置:可以参考https://blog.csdn.net/shouhuzhezhishen/article/details/69221517

发布了15 篇原创文章 · 获赞 2 · 访问量 4234

猜你喜欢

转载自blog.csdn.net/weixin_41858337/article/details/88999006