zoukankan      html  css  js  c++  java
  • redis的主从模式

    主从通信过程

    Master配置:

    1:关闭rdb快照(备份工作交给slave)
    2:可以开启aof

    slave配置:

    1: 声明slave-of
    slaveof 192.168.0.102
    2: 配置密码[如果master有密码]
    masterauth 密码
    3: [某1个]slave打开rdb快照功能
    4: 配置是否只读[slave-read-only]
    slave-read-only yes

    redis主从复制的缺陷

    缺陷:
    每次slave断开后,(无论是主动断开,还是网络故障)
    再连接master
    都要master全部dump出来rdb,再aof,即同步的过程都要重新执行1遍.
    所以要记住->多台slave不要一下都启动起来,否则master可能IO剧增

    sentinel哨兵

    Sentinel不断与master通信,获取master的slave信息.
    监听master与slave的状态
    如果某slave失效,直接通知master去除该slave.
    如果master失效,,是按照slave优先级(可配置), 选取1个slave做 new master

    疑问: sentinel与master通信,如果某次因为master IO操作频繁,导致超时,
    此时,认为master失效,很武断.
    解决: sentnel允许多个实例看守1个master, 当N台(N可设置)sentinel都认为master失效,才正式失效.

    Sentinel选项配置

    port 26379 # 端口
    sentinel monitor mymaster 127.0.0.1 6379 2 ,
    给主机起的名字(不重即可),
    当2个sentinel实例都认为master失效时,正式失效

    sentinel down-after-milliseconds mymaster 30000 #多少毫秒后连接不到master认为断开
    sentinel can-failover mymaster yes #是否允许sentinel修改slave->master. 如为no,则只能监控,无权修改.
    sentinel parallel-syncs mymaster 1 # 一次性修改几个slave指向新的new master.
    sentinel client-reconfig-script mymaster /var/redis/reconfig.sh # 在重新配置new master,new slave过程,可以触发的脚本

  • 相关阅读:
    Harbor私有镜像仓库(下)
    项目课---企业级Memcached服务应用实践(八)
    项目课---OpVEN架构实施方案(七)
    项目课---Mha-Atlas-MySQL高可用方案实践(六)
    Nginx 反向代理
    Ansible搭建LNMP
    Ansible
    Ansible运维自动化
    JAVA企业级应用服务器之TOMCAT实战
    ssh自动分发密匙脚本样板
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10873843.html
Copyright © 2011-2022 走看看