• 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

  • 相关阅读:
    分解质因数
    大素数测试和分解质因数
    快速幂
    欧拉函数
    素数
    gcd,lcm,ext_gcd,inv
    凸包问题 poj 2187
    map的 简单用法
    判断线段是否在园内
    2-sat 问题
  • 原文地址:https://www.cnblogs.com/lch-Hao/p/10940980.html
Copyright © 2020-2023  润新知