zoukankan      html  css  js  c++  java
  • redis宕机如何解决?如果是项目上线的宕机呢?

    我们先来了解一下  bridge网络模式

    他会创建一个docker0桥,看完这个我们就会知道redis哨兵机制的端口了。

    之后继续研究redis宕机的解决办法!

    宕机: 服务器停止服务

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

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

      1.从的redis宕机怎么解决?

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

        1.只要把从的redis重新启动,再和主的进行连接就可以

        2.如果从redis上面做数据的持久化,可以直接连接到主的上面,只要实现增量备份

      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"

    可以使用哨兵搭建高可用服务器,哨兵模式还提供其他功能,比如监控、通知、为客户端提供配置等。

    关于使用哨兵搭建高可用服务器,可以参考https://blog.csdn.net/shouhuzhezhishen/article/details/69221517来实现!

    2018-09-05  20:30:11

  • 相关阅读:
    Sentry异常捕获平台
    docker部署RabbitMQ(单机)
    Elasticsearch参数调优
    docker 部署Elasticsearch-权限认证(单节点)
    ElementUI 实现el-table 列宽自适应
    vue 弹幕插件
    linux 命令笔记
    swoole安装笔记
    Swoole学习笔记
    VM安装centos8实战
  • 原文地址:https://www.cnblogs.com/Infernal/p/11140633.html
Copyright © 2011-2022 走看看