System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Serverless的mysql有状态存储弹性扩缩容方法及装置制造方法及图纸_技高网

一种基于Serverless的mysql有状态存储弹性扩缩容方法及装置制造方法及图纸

技术编号:40738160 阅读:10 留言:0更新日期:2024-03-25 19:59
本发明专利技术公开了一种基于Serverless的mysql有状态存储弹性扩缩容方法及装置,所述的弹性扩缩容方法包括:配置触发mysql数据库系统中主节点弹性扩容的主节点动态弹性策略,和从节点弹性扩缩容的从节点动态弹性策略;获取mysql数据库系统中主节点的写流量数据,以及从节点的读流量数据;根据所述主节点的写流量数据判断是否触发主节点动态弹性策略,若判断结果为是,则基于Serverless服务执行mysql数据库系统的主节点弹性扩容操作;根据所述从节点的读流量数据判断是否触发从节点动态弹性策略,若判断结果为是,则基于Serverless服务执行mysql数据库系统的从节点弹性扩缩容操作。本发明专利技术通过添加动态策略实现mysql数据库系统的自动化弹性扩缩容,减少扩缩容本身判断的人力维护和沟通成本。

【技术实现步骤摘要】

本专利技术涉及计算机软件,具体的涉及一种基于serverless的mysql有状态存储弹性扩缩容方法及装置。


技术介绍

1、mysql:是一种关系型数据库管理系统,现有的mysql数据库的使用方式如下:

2、一主多从机制:申请一定数量的服务器,使用mysql自身的主从同步机制,起一份mysql主数据库加几个从数据库,考虑到灾备,几个从数据库常分布在不同的机房。日常使用是mysql proxy层做读写分析,写主,然后就近读从。故障处理:主节点宕机,则将某个从节点升级为主,mysql proxy层写操作换成新的主节点。从节点宕机,则mysql proxy层切换到其他从节点读。扩缩容方式:主节点无法扩缩容,只能开新的从节点用于扩容读流量。

3、多主多从机制:和一主多从方式类似,但是需要多申请数倍的服务器数量,几个主节点根据主节点的数量更改自增步长设置,几个主节点之间互相作为主从。缺陷还是和上述类似,虽然多了几个主节点,但是根据数量协调自增步长设置,避免几个主节点写入存在冲突,由于这个原因,一旦数量确定,主节点也无法轻易扩容,扩容就要将所有主从节点都更换配置重新处理一遍。

4、主备机制:舍弃了扩缩容和读写分离,进作为简单的一主一从,从节点不接流量,一旦主节点异常,则将从节点提升为主节点。

5、单节点+定期备份机制:完全舍弃了扩缩容,读写分离需求和故障转移能力,只有一个节点一旦故障或者数据异常,就通过备份数据新启动。

6、以上多种使用方式,可以看出为了解决故障转移做了很多复杂的设计,然而依旧没能解决扩容需求。

7、有鉴于此,特提出本专利技术专利。


技术实现思路

1、为了解决上述问题,本专利技术的专利技术目的就是通过一种弹性的方式能够在解决故障转移,保证稳定性的情况下,解决扩容的需求;以及在弹性方案的基础上,通过添加动态策略来进行一定的自动化,减少扩缩容本身判断的人力维护和沟通成本。具体地,采用了如下技术方案:

2、一种基于serverless的mysql有状态存储弹性扩缩容方法,包括:

3、配置触发mysql数据库系统中主节点弹性扩容的主节点动态弹性策略,和从节点弹性扩缩容的从节点动态弹性策略;

4、获取mysql数据库系统中主节点的写流量数据,以及从节点的读流量数据;

5、根据所述主节点的写流量数据判断是否触发主节点动态弹性策略,若判断结果为是,则基于serverless服务执行mysql数据库系统的主节点弹性扩容操作;

6、根据所述从节点的读流量数据判断是否触发从节点动态弹性策略,若判断结果为是,则基于serverless服务执行mysql数据库系统的从节点弹性扩缩容操作。

7、作为本专利技术的可选实施方式,本专利技术的一种基于serverless的mysql有状态存储弹性扩缩容方法中,配置触发mysql数据库系统中从节点弹性扩缩容的从节点动态弹性策略包括:

8、配置mysql数据库系统的从节点读流量速率阈值上限、从节点读流量速率阈值下限;

9、所述获取mysql数据库系统中从节点的读流量数据包括:

10、获取mysql数据库系统的主节点,遍历每个主节点的从节点,获取从节点读流量速率,汇总统计从节点实例程序数量,计算平均读流量速率;

11、所述根据所述从节点的读流量数据判断是否触发从节点动态弹性策略包括:

12、当平均读流量速率>从节点读流量速率阈值上限,或者平均读流量速率<从节点读流量速率阈值下限时,则命中动态弹性策略。

13、作为本专利技术的可选实施方式,本专利技术的一种基于serverless的mysql有状态存储弹性扩缩容方法中,所述基于serverless服务执行mysql数据库系统的从节点弹性扩缩容操作包括:

14、当平均读流量速率>从节点读流量速率阈值上限时,根据公式(平均读流量速率×当前从节点实例数量)/(从节点读流量速率阈值上限×k1)计算出从节点扩容数量上限,并和当前从节点数量比较,其中k1为预设扩容阈值系数;

15、如果从节点扩容数量上限>当前从节点数量,则基于serverless服务扩容的从节点数量为从节点扩容数量上限-当前从节点数量,如果从节点扩容数量上限≤当前从节点数量,不做任何处理;

16、当平均读流量速率<从节点读流量速率阈值下限时,根据公式(平均读流量速率×当前从节点实例数量)/(从节点读流量速率阈值下限*s0)公式计算出从节点缩容数量下限,并和当前从节点数量比较,其中s0为预设缩容阈值系数;

17、如果从节点缩容数量下限<当前从节点数量,则基于serverless服务缩容的从节点数量为当前从节点数量-从节点缩容数量下限,如果从节点缩容数量下限≥当前从节点数量,不做任何处理。

18、作为本专利技术的可选实施方式,本专利技术的一种基于serverless的mysql有状态存储弹性扩缩容方法中,所述配置触发mysql数据库系统中主节点弹性扩容的主节点动态弹性策略包括:

19、配置mysql数据库的主节点存储总量上限;

20、所述获取mysql数据库系统中主节点的写流量数据包括:

21、获取主节点的存储量和写请求量,进行累加得到主节点的存储总量;

22、所述根据所述主节点的写流量数据判断是否触发主节点动态弹性策略包括:

23、当主节点的存储总量>主节点存储总量上限时,则命中动态弹性策略,基于serverless服务执行主节点扩容操作,当主节点的存储总量≤主节点存储总量上限时,不做任何处理。

24、作为本专利技术的可选实施方式,本专利技术的一种基于serverless的mysql有状态存储弹性扩缩容方法中,所述基于serverless服务执行mysql数据库系统的主节点弹性扩容操作包括:

25、根据公式主节点的存储总量/(主节点存储总量上限*k2)计算出主节点实例扩容数量上限,并和当前主节点实例数量比较,其中k2为预设扩容阈值系数;

26、如果主节点实例扩容数量上限>当前主节点实例数量,则基于serverless服务扩容的主节点实例数量为主节点实例扩容数量上限-当前主节点实例数量。

27、作为本专利技术的可选实施方式,本专利技术的一种基于serverless的mysql有状态存储弹性扩缩容方法,包括mysql数据库系统的默认配置流程:

28、接收配置mysql数据库系统的主节点数量和从节点数量的配置请求;

29、遍历各个mysql数据库集群的配置,取出所有当前存在的主节点,遍历主节点;

30、取出当前主节点对应的从节点,计算当前从节点数量,并和配置请求中的从节点数量对比是否一致,如果不一致,那么进行从节点缩容或者从节点扩容操作,缩容或者扩容数量为当前从节点数量与配置请求中的从节点数量之间的差值,如果等于不做任何处理;

3本文档来自技高网...

【技术保护点】

1.一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,包括:

2.根据权利要求1所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,配置触发mysql数据库系统中从节点弹性扩缩容的从节点动态弹性策略包括:

3.根据权利要求2所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述基于Serverless服务执行mysql数据库系统的从节点弹性扩缩容操作包括:

4.根据权利要求1所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述配置触发mysql数据库系统中主节点弹性扩容的主节点动态弹性策略包括:

5.根据权利要求4所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述基于Serverless服务执行mysql数据库系统的主节点弹性扩容操作包括:

6.根据权利要求1所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,包括mysql数据库系统的默认配置流程:

7.根据权利要求6所述的一种基于Serverl ess的mysql有状态存储弹性扩缩容方法,其特征在于,所述主节点新建/扩容流程包括:

8.根据权利要求7所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述从节点新建/扩容流程包括:

9.根据权利要求6所述的一种基于Serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述主节点缩容流程包括:

10.一种基于Serverless的mysql有状态存储弹性扩缩容装置,其特征在于,包括:

...

【技术特征摘要】

1.一种基于serverless的mysql有状态存储弹性扩缩容方法,其特征在于,包括:

2.根据权利要求1所述的一种基于serverless的mysql有状态存储弹性扩缩容方法,其特征在于,配置触发mysql数据库系统中从节点弹性扩缩容的从节点动态弹性策略包括:

3.根据权利要求2所述的一种基于serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述基于serverless服务执行mysql数据库系统的从节点弹性扩缩容操作包括:

4.根据权利要求1所述的一种基于serverless的mysql有状态存储弹性扩缩容方法,其特征在于,所述配置触发mysql数据库系统中主节点弹性扩容的主节点动态弹性策略包括:

5.根据权利要求4所述的一种基于serverless的mysql有状态存储弹性扩缩容方法,其特征在于...

【专利技术属性】
技术研发人员:吕亚霖张浩然
申请(专利权)人:北京云思智学科技有限公司
类型:发明
国别省市:

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

1