ProxySQL自动运维系统、方法及相应设备和存储介质技术方案

技术编号:27265718 阅读:12 留言:0更新日期:2021-02-06 11:29
本申请公开了ProxySQL自动运维系统、方法及相应设备和存储介质,用于ProxySQL集群的运维,其中ProxySQL集群包括多套ProxySQL并与MySQL集群通信,其中所述系统包括:部署于每一ProxySQL中的监控服务模块,用于确定所在ProxySQL节点的健康状况,及用于确定MySQL集群的健康状况;健康服务模块,用于根据ProxySQL的健康状况和MySQL集群的健康状况确定ProxySQL主节点是否可用;节点迁移模块,用于响应于ProxySQL主节点不可用,推举新的主节点,及将ProxySQL集群的虚拟IP切换到推举的主节点。本发明专利技术使能实现ProxySQL的自动化配置、运维,降低误操作带来的风险。降低误操作带来的风险。降低误操作带来的风险。

【技术实现步骤摘要】
ProxySQL自动运维系统、方法及相应设备和存储介质


[0001]本申请涉及电数字数据处理领域,尤其涉及ProxySQL自动运维系统、方法及相应设备和存储介质。

技术介绍

[0002]ProxySQL作为一款承接前端业务请求与后端数据库的、基于MySQL的开源中间件,是灵活的MySQL代理层,且是保障系统稳定的关键。目前的ProxySQL运维方案都是运维人员登陆线上服务器,手动修改ProxySQL内部配置,过程繁琐。当线上的集群服务越多,越容易出现误操作。目前的运维方案的主要缺点在于:1)单点故障,ProxySQL中间件集群无法自动切换;2)读写分离无法实时修改,操作繁琐;3)针对前端业务的危害性查询语句,无法进行重写,需要运维人员分析后,再上线进行繁重的操作;4)所有操作都是直接作用在数据库上,误操作风险高;5)后端因延迟下线后,无法再加入服务队列。

技术实现思路

[0003]为了克服现有技术中存在的不足,本专利技术提供一种ProxySQL自动运维系统、方法及相应设备和存储介质,其能针对ProxySQL线上突发情况进行自动化配置、运维,降低误操作带来的风险。
[0004]在本专利技术的第一方面,提供一种ProxySQL自动运维系统,用于ProxySQL集群的运维,其中ProxySQL集群包括多套ProxySQL并与MySQL集群通信,所述系统包括:部署于每一ProxySQL中的监控服务模块,用于确定所在ProxySQL节点的健康状况,及用于确定MySQL集群的健康状况;健康服务模块,用于根据ProxySQL的健康状况和MySQL集群的健康状况确定ProxySQL主节点是否可用;节点迁移模块,用于响应于ProxySQL主节点不可用,推举新的主节点,及将ProxySQL集群的虚拟IP切换到推举的主节点。
[0005]在实施例中,所述节点迁移模块包括:获取子模块,用于获取各个ProxySQL节点的checksum值,所述checksum值校验各个ProxySQL节点与ProxySQL主节点的信息延迟;推举子模块,用于将与ProxySQL主节点相同checksum的机器推举为新的主节点。
[0006]在实施例中,所述健康服务模块还用于根据ProxySQL的健康状况和MySQL集群的健康状况确定MySQL集群是否可用。
[0007]在实施例中,所述系统还包括:节点调度模块,用于响应于MySQL集群不可用,将ProxySQL里配置的MySQL集群信息删除,并将单节点配置更新到ProxySQL中。
[0008]在实施例中,所述监控服务模块还包括:时长确定子模块,用于获取ProxySQL中记录的SELECT查询语句并确定SELECT查询语句的执行时长;第一记录子模块,用于响应于执行时长大于第一阈值但小于第二阈值,记录相应SELECT查询语句的指纹信息并对执行次数计数;其中,所述系统还包括读写分离模块,用于响应于第一记录子模块记录的执行次数大
于第三阈值,将相应SELECT查询调度到MySQL集群的主节点之外的其他节点上。
[0009]在实施例中,所述监控服务模块还包括:第二记录子模块,用于响应于执行时长大于第二阈值,记录相应SELECT查询语句的指纹信息并对执行次数计数;其中,所述系统还包括查询重写模块,用于响应于第二记录子模块记录的执行次数大于第四阈值,将相应SELECT查询语句改写为无返回的简单查询。
[0010]在本专利技术的第二方面,提供一种ProxySQL自动运维方法,用于ProxySQL集群的运维,其中ProxySQL集群包括多套ProxySQL并与MySQL数据库集群通信,所述方法包括:通过部署于每一ProxySQL中的监控服务模块确定所在ProxySQL的健康状况,及确定MySQL集群的健康状况;根据ProxySQL的健康状况和MySQL集群的健康状况确定ProxySQL主节点是否可用;响应于ProxySQL主节点不可用,推举新的主节点,及将ProxySQL集群的虚拟IP切换到推举的主节点。
[0011]在本专利技术的第三方面,提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现根据本专利技术的第一方面的系统的功能或者实现根据本专利技术的第二方面的方法的步骤。
[0012]根据本专利技术的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据本专利技术的第一方面的系统的功能或者实现根据本专利技术的第二方面的方法的步骤。
[0013]多套ProxySQL代理的集群服务会放大运维的工作难度。按照本专利技术,形成一个完善的自动化部署运维系统,进行线上ProxySQL的部署、监控、运维等操作。整个操作,无需登陆生产环境的服务器,直接远程操作。通过监控服务模块实时监听各个ProxySQL节点的心跳,同时将健康状况报告给健康服务模块,当节点有异常时(例如主节点不可用、MySQL集群不可用、慢查询等),自动启动对应的调整预案(如节点切换、读写分离、配置修改等),避免后端数据库环境遭受破坏。本专利技术中的自动运维直接作用在ProxySQL代理节点上,即便少数健康监控作用到MySQL数据库上,但也只是只读的方式获取MySQL的健康信息,降低了误操作带来的风险。
[0014]结合附图阅读本专利技术实施方式的详细描述后,本专利技术的其它特点和优点将变得更加清楚。
附图说明
[0015]图1为根据本专利技术系统的一实施例的框图;图2为根据本专利技术方法的一实施例的流程图。
[0016]为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本专利技术所必要的细节,而省略其他细节。
具体实施方式
[0017]下面参照附图对本专利技术的实施方式和实施例进行详细说明。
[0018]通过下面给出的详细描述,本专利技术的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本专利技术优选实施例的同时,它们仅为说明目的给出。
[0019]图1示出了根据本专利技术的ProxySQL自动运维系统的一优选实施例的框图。该ProxySQL自动运维系统用于ProxySQL集群的运维,其中ProxySQL集群包括多套ProxySQL代理并与MySQL(数据库)集群通信,并为ProxySQL集群指定一个虚拟IP(VIP),VIP所在节点为主节点。该系统包括:部署于每一ProxySQL中的监控服务模块102,用于确定所在ProxySQL节点的健康状况,及用于确定MySQL集群的健康状况。监控服务模块可定时例如每n(n>1)秒向所在ProxySQL发送健康请求,获取节点健康值,如果ProxySQL的节点可以访问,则节点健康,返回1,否则返回0。同时,监控服务模块每n(n>1)秒向MySQL集群环境发送ping请求,如果能够ping通,则MySQL集群健康,返回集群健康值1,否则返回0。
[0020]健康服务模块104,用于根据ProxySQL的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ProxySQL自动运维系统,用于ProxySQL集群的运维,其中ProxySQL集群包括多套ProxySQL并与MySQL集群通信,其特征在于,所述系统包括:部署于每一ProxySQL中的监控服务模块,用于确定所在ProxySQL节点的健康状况,及用于确定MySQL集群的健康状况;健康服务模块,用于根据ProxySQL的健康状况和MySQL集群的健康状况确定ProxySQL主节点是否可用;节点迁移模块,用于响应于ProxySQL主节点不可用,推举新的主节点,及将ProxySQL集群的虚拟IP切换到推举的主节点。2.根据权利要求1所述的系统,其特征在于,所述节点迁移模块包括:获取子模块,用于获取各个ProxySQL节点的checksum值,所述checksum值校验各个ProxySQL节点与ProxySQL主节点的信息延迟;推举子模块,用于将与ProxySQL主节点相同checksum的机器推举为新的主节点。3.根据权利要求1所述的系统,其特征在于,所述健康服务模块还用于根据ProxySQL的健康状况和MySQL集群的健康状况确定MySQL集群是否可用。4.根据权利要求3所述的系统,其特征在于,所述系统还包括:节点调度模块,用于响应于MySQL集群不可用,将ProxySQL里配置的MySQL集群信息删除,并将单节点配置更新到ProxySQL中。5.根据权利要求1所述的系统,其特征在于,所述监控服务模块还包括:时长确定子模块,用于获取ProxySQL中记录的SELECT查询语句并确定SELECT查询语句的执行时长;第一记录子模块,用于响应于执行时长大于第一阈值但小于第二阈值,记录相应SELECT查询语句的指纹信息并对执行次数计...

【专利技术属性】
技术研发人员:段雅亭许明娄景军张富卿孟庆安
申请(专利权)人:望海康信北京科技股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1