咱们先来了解一下 bridge网络模式redis
他会建立一个docker0桥,看完这个咱们就会知道redis哨兵机制的端口了。docker
以后继续研究redis宕机的解决办法!服务器
宕机: 服务器中止服务网络
若是只有一台redis, 确定会形成数据丢失。spa
多台reids或者是Redis集群,服务器宕机还有办法。.net
1.从的redis宕机怎么解决?3d
配置主从复制的时候才配置从的redis, 从的会从主的redis中读取主的redis的操做日志,来达到主从复制。日志
1.只要把从的redis从新启动,再和主的进行链接就能够code
2.若是从redis上面作数据的持久化,能够直接链接到主的上面,只要实现增量备份blog
2.主的redis宕机怎么解决
要先确认是否作持久化,若没有作持久化,从新启动主的redis就会形成数据丢失。
1.先把从的redis升级为主的redis. 执行slave of one命令
2.原来的主的能够从新启动,做为从的redis, 链接到主的redis上面作主从复制。
可使用Redis 提供哨兵 机制来简化上面的操做。
哨兵的配置:
1. 复制redis中sentinel.conf,根据状况进行配置
#当前Sentinel服务运行的端口 port 26379 #Sentinel服务运行时使用的临时文件夹 dir /tmp #sentinel链接的主redis, 此redis链接端IP端口是172.17.0.1 6379 #将此redis判断为失效至少须要1个 Sentinel进程的赞成, 只要赞成Sentinel的数量不达标,自动failover就不会执行 sentinel monitor master 172.17.0.1 6379 1 #指定了在执行故障转移时,最多能够由多少个从Redis实例在同步新的主实例,在从Redis实例较多的状况下这个数字越小,同步的时间越长 #完成故障转移所需的时间就越长 sentinel parallel-syncs master 1 #若是未在18000ms内完成故障迁移,就默认未失败 sentinel failover-timeout master 180000 #redis的sentinel的日志 logfile "/var/log/sentinel_log.log"
可使用哨兵搭建高可用服务器,哨兵模式还提供其余功能,好比监控、通知、为客户端提供配置等。
关于使用哨兵搭建高可用服务器,能够参考http://www.javashuo.com/article/p-vuclpumg-by.html来实现!
2018-09-05 20:30:11