zoukankan      html  css  js  c++  java
  • Redis集群(二)Sentinel哨兵模式

    Redis的主从模式配置简单,在提高单台服务器数据库读性能的同时,也能间接性的提高写的能力;与此同时,它的弊端也显而易见,那就是当主节点Master宕机后,整个集群就没有可写的节点了,为此就衍生出了一种新的模式,Sentinel(哨兵模式)

    Redis的Sentinel系统用于管理多个Redis服务器,主要的工作可分为三点:

    1.Monitoring(监视):Sentinel会不断检查主服务器和从服务器运作是否正常

      1)Sentinel可以监控任意多个Master和该Master下的Slaves

      2)同一哨兵下的,不同主从模型,彼此相互独立

      3)Sentinel会不断监察Master和Slaves是否正常

    2.Notification(提醒):当被监控的某个Redis服务器出现问题时,可通过API向管理员或其他应用程序发送通知信息

    3.Automatic failover(自动故障迁移):当一台主服务器宕机后,Sentinel会开始自动故障迁移的操作,它会通过半数选举的方式,在失效的主服务器中的从服务器变成主服务器;当客户端连接失效的主服务器时,集群也会向客户端返回新主服务器的地址

      1)Sentinel网络:监控同一个Master的Sentinel会自动连接,组成一个分布式的Sentinel网络,互相通信并相互交换监视服务器的信息。

      2)故障切换的过程:

        1.当任何一个Sentinel发现被监控的Master下线时,会通知其他的Sentinel,并进行投票决定该Master是否下线(由于遵循半数原则,所以Sentinel通常配奇数个);

        2.当Sentinel确定Master下线后,会在所有的Slaves中,选举一个新的结点升级成为Master,其他结点成为该Master的Slave

        3.当下线的Master恢复后,也成为新Master的Slave

    配置流程:

    1.创建Sentinels目录(s1,s2,s3分别表示三个哨兵)

    2.在安装目录下将sentinel.conf拷贝到三个哨兵目录中

    3.依次修改s1,s2,s3下的配置文件sentinel.conf(绑定ip,保护模式,端口,Sentinel)

    s1的配置

     

    1)是哨兵的名字 2)监视Master的ip地址 3)监视Master的端口 4)在投票过程中超过2个哨兵同意Master下线时,Master即视为宕机状态

    s2的配置

    s3的配置

     

     

     4.开启三个不同端口的Redis服务端

    6380端口的redis-server(Master)

    6381端口的redis-server(Slave)

    6382端口的redis-server(Slave)

    5.分别通过s1,s2,s3中的配置问起开启三个哨兵(由于监视的为同一个Master,三个哨兵会自动组成哨兵网络)

    s1配置文件启动的哨兵

    s2配置文件启动的哨兵

    s3配置文件启动的哨兵

    6.测试

      1)断开Master(端口为6380的redis-server)

      两个Slaves同时无法连接Master的警告

      6381端口的Slave

      6382端口的Slave

      Sentinel进行检测,投票,选举的操作

      6381redis-server变为新Master,6382redis-server成为6381的Slave

      6381界面

      6382界面

      2)原Master6380端口的redis-server重新上线

      6380端口的redis-server成为6381端口redis-server的Slave

  • 相关阅读:
    第四章 虚拟机性能监控与故障处理工具
    C++_异常5-异常规范和栈解退
    C++_异常4-将对象用作异常类型
    C++_异常3-异常机制throw try catch
    C++_异常2-返回错误码
    C++_异常1-调用abort()
    C++_类继承7-类设计回顾
    C++_类继承6-继承和动态内存分配
    C++_类继承5-抽象基类
    C++_类继承4-访问控制protected
  • 原文地址:https://www.cnblogs.com/lch-Hao/p/10940980.html
Copyright © 2011-2022 走看看