• 【原创】MHA二次检测功能测试


     MHA提供了很多扩展的功能,其中有一个参数是secondary_check_script,这个参数可以使我们自定义扩展多路由,多链路的二次检测功能。减少网络故障切换,降低脑裂的发生。

    在虚拟机上做了如下测试,供大家参考。

    5台服务器,MySQL版本5.7.18,角色如下:

    Master(192.168.137.100)

    Slave1(192.168.137.101)

    Slave2(192.168.137.102)

    MHA Manager(192.168.137.120)

    Monitor1(192.168.137.103)

    在配置文件中增加二次检测脚本

    模拟测试:

    【场景一】

    MHA Manager与Master之间通讯中断

    MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯正常

    从日志中可以看到当MHA Manager与Master之间通讯中断,检测超时后,开始二次检测,MHA Manager

    尝试通过连接其他的监控服务器(192.168.137.103)检测是否能建立到Master的55944端口的连接。如果可以连接成功,认为master还活着,不会发生failover。然后继续下一次检测。

    【场景二】

    MHA Manager与Master之间通讯中断

    MHA Manager与Monitor1之间通讯中断,Monitor1与Master之间通讯正常

    MHA Manager与Master和Monitor1之间的通讯全部中断,判断是网络问题,不发生failover,继续下一次检测。

    【场景三】

    MHA Manager与Master之间通讯恢复

    MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯正常

    MHA Manager与Master之间的通讯恢复,停止二次脚本的检测。

    【场景四】

    MHA Manager与Master之间通讯中断

    MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯中断

     

    MHA Manager及二次检测脚本中定义的其他Monitor服务器与Master都连接超时,发生failover。

    其他公司关于二次检测的应用

    1、魅族

      

    2、安居客

      

    3、美团点评

     


     

  • 相关阅读:
    临时表的汇总
    数据仓库逻辑建模
    在Eclipse下搭建Android开发环境教程(1)
    SQL Server数据库锁的引入的缘由
    C#图片处理基本应用(裁剪,缩放,清晰度,水印)(转)
    Default on textbox
    引用 几种绑定DropdownList的方法
    Jquery示例
    MSSql数据库锁
    C# 常用算法
  • 原文地址:https://www.cnblogs.com/wangdong/p/9237715.html
Copyright © 2020-2023  润新知