zoukankan      html  css  js  c++  java
  • Redis-Sentinel 哨兵

    为什么需要哨兵?

    一旦主节点宕机,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所有从节点复制新的主节点
    那么这个问题,redis-sentinel就可以解决了

    什么是哨兵Redis-Sentinel?
    保护redis主从集群正常运转,当redis主库挂掉之后,自动的在从库中挑选新的主库,进行同步.
    哨兵会不停的给主库发ping,如果一定时间内主库没回复就认为主库挂了.就自动的在从库中挑选新的主库.
    如果有多个哨兵,那么多个哨兵是通过订阅相同的频道来交流的.
    可以多个哨兵监控一个主从集群. 哨兵多个,为了防止只有一个哨兵的时候,哨兵也宕机了.
    哨兵是redis的一个进程, 哨兵不做存储,只监控redis

    多个哨兵监控一个主从集群

    主库出现故障的时候, 哨兵选一个从库作为新的主库, 并修改其他从库的新主库

    举例:

    step1. 开启3个redis服务器, 以不同端口区分

        

    step2 准备3个哨兵 

    哨兵端口默认26379  以端口的不同区分3个哨兵
    1.哨兵的配置文件
             port 26379  
             dir /var/redis/data/
             logfile "26379.log"

    sentinel monitor youku-master 127.0.0.1 6379 2 sentinel down-after-milliseconds youku-maste 30000 sentinel parallel-syncs youku-maste 1 sentinel failover-timeout youku-maste 180000 daemonize yes

        

        快速生成其他2个哨兵的配置文件
          sed "s/26379/26380/g" redis-sentinel-26379.conf >  redis-sentinel-26380.conf                
          sed "s/26379/26381/g" redis-sentinel-26379.conf >  redis-sentinel-26381.conf 

        

    2.启动三个哨兵

        

    3.查看哨兵 自动发现redis主从节点

        

    4.查看哨兵的状态

        

    step3 测试哨兵功能  杀掉主库6379  查看哪一个从库变成了主库

      主库宕机后 哨兵选择一个从库变为主库 原理是哨兵修改redis服务器的配置文件的slaveof  从而改变主从关系

        

  • 相关阅读:
    如何获得刚刚插入数据的id
    Ado.net怎么执行存储过程?
    SqlServer存储过程,学习
    视图view
    CTE(公用表表达式)
    事务
    over()的用法
    Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程
    Inno Setup的常用脚本
    跟武哥一起学习Spring Boot
  • 原文地址:https://www.cnblogs.com/dingyunfeng/p/10230320.html
Copyright © 2011-2022 走看看