一种基于微服务架构的业务分发方法及相关装置制造方法及图纸

技术编号:25598399 阅读:10 留言:0更新日期:2020-09-11 23:56
本发明专利技术公开了一种基于微服务架构的业务分发方法,包括获取业务信息;调用业务信息所对应目标集群中全部子服务节点当前的负载等级;负载等级与对应子服务节点的负载值相匹配;根据负载等级确定对应的子服务节点当前的处理能力值;根据预设顺序排列子服务节点,以及根据处理能力值确定对应子服务节点的分发区间;将随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将业务信息分发至目标子服务节点。在参考目标集群中子服务节点的剩余负载容量的前提下,根据随机数落入的分发区间来分配业务信息,可以均衡各个子服务节点的负载。本发明专利技术还提供了一种装置、设备以及一种存储介质,同样具有上述有益效果。

【技术实现步骤摘要】
一种基于微服务架构的业务分发方法及相关装置
本专利技术涉及微服务
,特别是涉及一种基于微服务架构的业务分发方法、一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质。
技术介绍
随着科技的进步以及社会的发展,微服务系统在人们日常生活中的应用越来越广泛。微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。在现阶段,通常会使用多个子服务节点构成具有特定功能的集群,例如实现用户管理功能的集群、用于实现订单服务的集群、用于实现支付服务功能的集群等等。上述集群通常不对应一个实体结构,而是一个逻辑概念。在现有技术中,当网关节点将业务具体向对应同一集群的子服务节点分发时,通常是将业务均衡的向多个子服务节点分发。但是不同业务所占用的资源不同。当业务量较大时,极易造成某些子服务节点负载超标情况的发生。所以如何均衡各个子服务节点的负载时本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的是提供一种基于微服务架构的业务分发方法,可以均衡各个子服务节点的负载;本专利技术的另一目的在于提供一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质,可以均衡各个子服务节点的负载。为解决上述技术问题,本专利技术提供一种基于微服务架构的业务分发方法,应用于网关节点,包括:获取业务信息;调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级;所述负载等级包括从低到高依次排列的多个负载等级;所述负载等级与对应子服务节点的负载值相匹配;根据所述负载等级确定对应的所述子服务节点当前的处理能力值;所述处理能力值的大小与所述负载等级的高低呈反比;根据预设顺序排列所述子服务节点,以及根据所述处理能力值确定对应所述子服务节点的分发区间;所述分发区间的长度等于所述处理能力值;从第二所述分发区间至最后一所述分发区间中,任一所述分发区间的起始数值等于前一所述分发区间的终止数值;生成一随机数;所述随机数的取值区间的起始数值为第一所述分发区间的起始数值,终止数值为最后一所述分发区间的终止数值;将所述随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将所述业务信息分发至所述目标子服务节点。可选的,所述根据预设顺序排列所述子服务节点包括:根据所述子服务节点的名称排列所述子服务节点;或,根据所述子服务节点的负载等级从低到高排列所述子服务节点。可选的,在调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级之前,还包括:获取所述子服务节点的当前负载值和负载等级;当所述当前负载值大于所述负载等级所对应的负载上限值时,将所述子服务节点的负载等级上升为对应所述当前负载值的负载等级;当所述当前负载值小于所述负载等级所对应的负载下限值时,将所述子服务节点的负载等级下降一级。可选的,所述获取所述子服务节点的当前负载值包括:沿时间的先后顺序获取所述子服务节点中最新的连续五个负载值;计算五个所述负载值的平均值作为所述当前负载值。可选的,相邻两个所述负载等级之间,低负载等级的负载上限值大于高负载等级的负载下限值。可选的,所述负载等级包括零级负载、一级负载、二级负载和三级负载;所述零级负载对应的负载能力值为100、所述一级负载对应的负载能力值为66、所述二级负载对应的负载能力值为33、所述三级负载对应的负载能力值为0;所述零级负载的负载上限值为70;所述一级负载的负载上限值为80,所述一级负载的负载下限值为65;所述二级负载的负载上限值为90,所述二级负载的负载下限值为75;所述三级负载的负载下限值为85。本专利技术还提供了一种基于微服务架构的业务分发装置,应用于网关节点,包括:业务获取模块:用于获取业务信息;负载等级调用模块:用于调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级;所述负载等级包括从低到高依次排列的多个负载等级;所述负载等级与对应子服务节点的负载值相匹配;处理能力值确定模块:用于根据所述负载等级确定对应的所述子服务节点当前的处理能力值;所述处理能力值的大小与所述负载等级的高低呈反比;分发区间确定模块:用于根据预设顺序排列所述子服务节点,以及根据所述处理能力值确定对应所述子服务节点的分发区间;所述分发区间的长度等于所述处理能力值;从第二所述分发区间至最后一所述分发区间中,任一所述分发区间的起始数值等于前一所述分发区间的终止数值;随机数生成模块:用于生成一随机数;所述随机数的取值区间的起始数值为第一所述分发区间的起始数值,所述随机数的取值区间的终止数值为最后一所述分发区间的终止数值;业务分发模块:用于将所述随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将所述业务信息分发至所述目标子服务节点。可选的,还包括:负载信息获取模块:用于获取所述子服务节点的当前负载值和当前负载等级;负载等级上调模块:用于当所述当前负载值大于所述当前负载等级所对应的负载上限值时,将所述子服务节点的负载等级上升为对应所述当前负载值的负载等级;负载等级下调模块:用于当所述当前负载值小于所述当前负载等级所对应的负载下限值时,将所述子服务节点的负载等级下降一级。本专利技术还提供了一种基于微服务架构的业务分发设备,应用于网关节点,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任意一项所述基于微服务架构的业务分发方法的步骤。本专利技术还提供了一种计算机可读存储介质,应用于网关节点,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述基于微服务架构的业务分发方法的步骤。本专利技术所提供的一种基于微服务架构的业务分发方法,应用于网关节点,包括获取业务信息;调用业务信息所对应目标集群中全部子服务节点当前的负载等级;负载等级包括从低到高依次排列的多个负载等级;负载等级与对应子服务节点的负载值相匹配;根据负载等级确定对应的子服务节点当前的处理能力值;处理能力值的大小与负载等级的高低呈反比;根据预设顺序排列子服务节点,以及根据处理能力值确定对应子服务节点的分发区间;分发区间的长度等于处理能力值;从第二分发区间至最后一分发区间中,任一分发区间的起始数值等于前一分发区间的终止数值;生成一随机数;随机数的取值区间的起始数值为第一分发区间的起始数值,终止数值为最后一分发区间的终止数值;将随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将业务信息分发至目标子服务节点。根据对应目标集群的子服务节点的负载等级确定每个子服务节点的处理能力值,即剩余负载容量。根据每个子服务节点的处理能力值生成分发区间,在生成随机数之后,根据随机数落入的分发区间来分配业本文档来自技高网...

【技术保护点】
1.一种基于微服务架构的业务分发方法,其特征在于,应用于网关节点,包括:/n获取业务信息;/n调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级;所述负载等级包括从低到高依次排列的多个负载等级;所述负载等级与对应子服务节点的负载值相匹配;/n根据所述负载等级确定对应的所述子服务节点当前的处理能力值;所述处理能力值的大小与所述负载等级的高低呈反比;/n根据预设顺序排列所述子服务节点,以及根据所述处理能力值确定对应所述子服务节点的分发区间;所述分发区间的长度等于所述处理能力值;从第二所述分发区间至最后一所述分发区间中,任一所述分发区间的起始数值等于前一所述分发区间的终止数值;/n生成一随机数;所述随机数的取值区间的起始数值为第一所述分发区间的起始数值,终止数值为最后一所述分发区间的终止数值;/n将所述随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将所述业务信息分发至所述目标子服务节点。/n

【技术特征摘要】
1.一种基于微服务架构的业务分发方法,其特征在于,应用于网关节点,包括:
获取业务信息;
调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级;所述负载等级包括从低到高依次排列的多个负载等级;所述负载等级与对应子服务节点的负载值相匹配;
根据所述负载等级确定对应的所述子服务节点当前的处理能力值;所述处理能力值的大小与所述负载等级的高低呈反比;
根据预设顺序排列所述子服务节点,以及根据所述处理能力值确定对应所述子服务节点的分发区间;所述分发区间的长度等于所述处理能力值;从第二所述分发区间至最后一所述分发区间中,任一所述分发区间的起始数值等于前一所述分发区间的终止数值;
生成一随机数;所述随机数的取值区间的起始数值为第一所述分发区间的起始数值,终止数值为最后一所述分发区间的终止数值;
将所述随机数落入的分发区间所对应的子服务节点确定为目标子服务节点,并将所述业务信息分发至所述目标子服务节点。


2.根据权利要求1所述的方法,其特征在于,所述根据预设顺序排列所述子服务节点包括:
根据所述子服务节点的名称排列所述子服务节点;或,根据所述子服务节点的负载等级从低到高排列所述子服务节点。


3.根据权利要求1或2所述的方法,其特征在于,在调用所述业务信息所对应目标集群中全部子服务节点当前的负载等级之前,还包括:
获取所述子服务节点的当前负载值和负载等级;
当所述当前负载值大于所述负载等级所对应的负载上限值时,将所述子服务节点的负载等级上升为对应所述当前负载值的负载等级;
当所述当前负载值小于所述负载等级所对应的负载下限值时,将所述子服务节点的负载等级下降一级。


4.根据权利要求3所述的方法,其特征在于,所述获取所述子服务节点的当前负载值包括:
沿时间的先后顺序获取所述子服务节点中最新的连续五个负载值;
计算五个所述负载值的平均值作为所述当前负载值。


5.根据权利要求3所述的方法,其特征在于,相邻两个所述负载等级之间,低负载等级的负载上限值大于高负载等级的负载下限值。


6.根据权利要求5所述的方法,其特征在于,所述负载等级包括零级负载、一级负载、二级负载和三级负载;所述零级负载对应的负载能力值为100、所述一级负载对应的负载能力值为66、所述二级负载对应的负载能力值为33、所述三级负载对应的负载能力...

【专利技术属性】
技术研发人员:赵毅
申请(专利权)人:重庆英楼维兴信息科技有限公司
类型:发明
国别省市:重庆;50

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

1