CN111683132A - 一种基于微服务架构的业务分发方法及相关装置 - Google Patents
一种基于微服务架构的业务分发方法及相关装置 Download PDFInfo
- Publication number
- CN111683132A CN111683132A CN202010499389.4A CN202010499389A CN111683132A CN 111683132 A CN111683132 A CN 111683132A CN 202010499389 A CN202010499389 A CN 202010499389A CN 111683132 A CN111683132 A CN 111683132A
- Authority
- CN
- China
- Prior art keywords
- load value
- service
- target cluster
- value
- highest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于微服务架构的业务分发方法,应用于网关节点,包括获取子服务节点的负载值;当目标集群中子服务节点的数量大于1时,通过参考目标集群中的最高负载值,目标集群的加权负荷值,以及目标集群的预估负载值;当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值。在向目标集群分发业务时,具体会参考反映目标集群负载能力的实际负载值,从而使网关节点可以更加准确的分发业务,避免子服务节点发生过载。本发明还提供了一种装置、设备及存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及微服务技术领域,特别是涉及一种基于微服务架构的业务分发方法、一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质。
背景技术
随着科技的进步以及社会的发展,微服务系统在人们日常生活中的应用越来越广泛。微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
在现阶段,通常会使用多个子服务节点构成具有特定功能的集群,例如实现用户管理功能的集群、用于实现订单服务的集群、用于实现支付服务功能的集群等等。上述集群通常不对应一个实体结构,而是一个逻辑概念。在当下微服务体系架构的软件项目中,网关是不可或缺的一个重要组成部分,网关节点主要用于向子服务节点分发业务,而不同子服务节点通常分属于不同的集群。在现阶段,网关节点在向子服务节点分发业务且业务量较大时,容易造成子服务节点负载过高。所以如何提供一种可以在微服务系统中准确分发业务的方法是本领域技术人员急需解决的问题。需要参考子服务节点所属集群的负载值。而在现有技术中,对于集群负载值计算的方法并不能准确反映整个集群真实的负载情况,所以如何提供一种可以准确反映出微服务系统中集群负载的方法是本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种基于微服务架构的业务分发方法,可以使网关节点在微服务系统中准确分发业务;本发明的另一目的在于提供一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质,可以使网关节点在微服务系统中准确分发业务。
为解决上述技术问题,本发明提供一种基于微服务架构的业务分发方法,应用于网关节点,包括:
获取子服务节点的负载值;
当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;
通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值;
通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和;
当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值;
根据所述实际负载值向所述目标集群分发业务。
可选的,当所述最高负载值不小于70且小于80时,所述等级加权值为1.1;当所述最高负载值不小于80且小于90时,所述等级加权值为1.3;当所述最高负载值不小于90时,所述等级加权值为1.5。
可选的,当所述目标集群中子服务节点的数量为1时,将所述子服务节点的负载值作为所述目标集群的实际负载值。
可选的,所述获取子服务节点的负载值包括:
沿时间的先后顺序获取所述子服务节点中最新的连续第一预设数量的原始负载值;
计算第一预设数量的所述原始负载值的平均值作为所述子服务节点的负载值。
可选的,所述第一预设数量为五。
可选的,还包括:
沿时间的先后顺序获取最新的连续第二预设数量的所述实际负载值;
计算第二预设数量的所述实际负载值的平均值作为所述目标集群的真实负载值;
所述根据所述实际负载值向所述目标集群分发业务包括:
根据所述真实负载值向所述目标集群分发业务。
可选的,所述第二预设数量为五。
本发明还提供了一种基于微服务架构的业务分发装置,应用于网关节点,包括:
获取模块:用于获取子服务节点的负载值;
最高负载值模块:用于当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;
加权负荷值模块:用于通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值;
预估负载值模块:用于通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和;
实际负载值模块:用于当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值;
业务分发模块:用于根据所述实际负载值向所述目标集群分发业务。
本发明还提供了一种基于微服务架构的业务分发设备,应用于网关节点,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任意一项所述基于微服务架构的业务分发方法的步骤。
本发明还提供了一种计算机可读存储介质,应用于网关节点,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述基于微服务架构的业务分发方法的步骤。
本发明所提供的一种基于微服务架构的业务分发方法,应用于网关节点,包括获取子服务节点的负载值;当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定目标集群的加权负荷值;SMW为加权负荷值,SLM.MAX为最高负载值;SC为目标集群中子服务节点的数量;LAW为最高负载值对应的等级加权值;通过SW.S=(SMW+SLM.ORT)/SC确定目标集群的预估负载值;SW.S为预估负载值;SLM.ORT为目标集群所对应的多个负载值中,除去最高负载值后剩余负载值的和;当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值;根据实际负载值向目标集群分发业务。
在向子服务节点分发业务时,具体会参考反映目标集群负载能力的实际负载值,而在通过上述内容可以得到更加准确,更能反映真实情况的可以反映目标集群负载能力的实际负载值,从而使网关节点可以更加准确的分发业务,避免子服务节点发生过载。
本发明还提供了一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种基于微服务架构的业务分发方法的流程图;
图2为本发明实施例所提供的一种具体的基于微服务架构的业务分发方法的流程图;
图3为本发明实施例所提供的一种基于微服务架构的业务分发装置的结构框图;
图4为本发明实施例所提供的一种基于微服务架构的业务分发设备的结构框图。
具体实施方式
本发明的核心是提供一种基于微服务架构的业务分发方法。在现有技术中,由于网关节点在向子业务节点分发数据时,通常会参考集群的负载值。而现有技术计算得到的集群负载值通常并不是反映真实情况下的集群负载值。
而本发明所提供的一种基于微服务架构的业务分发方法,应用于网关节点,包括获取子服务节点的负载值;当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定目标集群的加权负荷值;SMW为加权负荷值,SLM.MAX为最高负载值;SC为目标集群中子服务节点的数量;LAW为最高负载值对应的等级加权值;通过SW.S=(SMW+SLM.ORT)/SC确定目标集群的预估负载值;SW.S为预估负载值;SLM.ORT为目标集群所对应的多个负载值中,除去最高负载值后剩余负载值的和;当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值;根据实际负载值向目标集群分发业务。
在向子服务节点分发业务时,具体会参考反映目标集群负载能力的实际负载值,而在通过上述内容可以得到更加准确,更能反映真实情况的可以反映目标集群负载能力的实际负载值,从而使网关节点可以更加准确的分发业务,避免子服务节点发生过载。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种基于微服务架构的业务分发方法的流程图。
参见图1,在本发明实施例中,一种基于微服务架构的业务分发方法,应用于网关节点,包括:
S101:获取子服务节点的负载值。
在本步骤中,网关节点会子服务节点的负载值,该负载值通常为取值在0至100之间的自然数,包括端点值;即在本申请中负载值的取值区间为[0,100]。其中,负载值为0意味着子服务节点的负载处于最低,没有再执行业务;负载值为100意味着子服务节点负载处于最高,无法再执行任何其他业务。
需要说明的是,在本步骤获取的子服务节点的负载值时,涉及的子服务节点至少需要覆盖目标集群中的全部子服务节点,以保证网关节点可以根据获取的子服务节点的负载值计算出目标集群的负载值。本步骤通常是获取多个子服务节点的负载值,并进行下述计算。
S102:当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值。
在本步骤中,当目标集群是由多个子服务节点构成时,会通过下述算法计算目标集群的实际负载值。由于目标集群是由多个子服务节点构成,相应的目标集群对应有多个负载值。在本步骤中,会首先确定目标集群对应的多个负载值中的最高负载值,将最高负载值记做SLM.MAX。
S103:通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定目标集群的加权负荷值。
在本发明实施例中,所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值。
在本步骤中,加权负荷值SMW即目标集群所对应的多个负载值中的最高负载值对目标集群负载值所能造成影响的大小,因为在实际情况中最高负载值对目标集群整体负载值的影响较大,上述等级加权值LAW通常需要大于1,从而保证(LAW+(0.1×(SC-1))的数值大于1,以此来提高最高负载值SLM.MAX对整个目标集群负载值的影响。
具体的,在本发明实施例中,当所述最高负载值不小于70且小于80时,所述等级加权值为1.1;当所述最高负载值不小于80且小于90时,所述等级加权值为1.3;当所述最高负载值不小于90时,所述等级加权值为1.5。将上述各个阶段的最高负载值所对应的等级加权值LAW代入上式中,可以使得最终计算得到的目标集群的实际负载值更加贴合实际情况。
S104:通过SW.S=(SMW+SLM.ORT)/SC确定目标集群的预估负载值。
在本发明实施例中,所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和。
在本步骤中,会将上述S103中计算得到的加权负荷值SMW作为目标集群中的最高负荷值,而在本步骤中具体计算得到的是整个目标集群中全部子服务节点的负载平均值,该负载平均值作为目标集群的预估负载值。
S105:当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值。
在本步骤中,当预估负载值大于最高负载值时,意味着除了上述最高负载值所对应的子服务节点之外,其余子服务节点的负载值也与上述最高负载值相近,而此时在本发明实施例中,会直接将目标集群中的最高负载值作为目标集群的实际负载值;而当预估负载值小于最高负载值时,意味着除了上述最高负载值所对应的子服务节点之外,其余子服务节点的负载值较低,此时最高负载值并不能反映出目标集群的真实情况,在本发明实施例中此时会将预估负载值作为目标集群的实际负载值,以便后续网关节点参考该目标集群的实际负载值向目标集群分发业务信息。
S106:根据实际负载值向目标集群分发业务。
在本步骤中,网关节点会参考上述S105中得到的实际负载值向目标集群分发业务。有关根据负载值相目标集群分发业务的具体流程可以参考现有技术,在此不再进行赘述。
本发明所提供的一种基于微服务架构的业务分发方法,应用于网关节点,包括获取子服务节点的负载值;当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定目标集群的加权负荷值;SMW为加权负荷值,SLM.MAX为最高负载值;SC为目标集群中子服务节点的数量;LAW为最高负载值对应的等级加权值;通过SW.S=(SMW+SLM.ORT)/SC确定目标集群的预估负载值;SW.S为预估负载值;SLM.ORT为目标集群所对应的多个负载值中,除去最高负载值后剩余负载值的和;当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值;根据实际负载值向目标集群分发业务。
在向子服务节点分发业务时,具体会参考反映目标集群负载能力的实际负载值,而在通过上述内容可以得到更加准确,更能反映真实情况的可以反映目标集群负载能力的实际负载值,从而使网关节点可以更加准确的分发业务,避免子服务节点发生过载。
有关本发明实施例所提供的一种基于微服务架构的业务分发方法的具体内容将在下述发明实施例中做详细介绍。
请参考图2,图2为本发明实施例所提供的一种具体的基于微服务架构的业务分发方法的流程图。
参见图2,在本发明实施例中,一种基于微服务架构的业务分发方法,应用于网关节点,包括:
S201:沿时间的先后顺序获取子服务节点中最新的连续第一预设数量的原始负载值。
S202:计算第一预设数量的原始负载值的平均值作为子服务节点的负载值。
在本发明实施例中,网关节点所直接获取的各个子服务节点的负载值记为原始负载值。在本步骤中,具体会获取最新且连续的第一预设数量的原始负载值,计算该第一预设数量原始负载值的平均值作为子服务节点的负载值进行下述计算。通过计算平均值的方法可以有效避免流量突刺,或子服务节点因为自身异常而导致上传的负载值数据突变。
具体的,在本发明实施例中,所述第一预设数量为五,即在本步骤中通常是计算连续五个最新的原始负载值的平均值作为后续步骤中用于计算的负载值。当然,在本发明实施例中上述第一预设数量也可以为其他取值,在本发明实施例中不做具体限定。
S203:当目标集群中子服务节点的数量为1时,将子服务节点的负载值作为目标集群的实际负载值。
在本步骤中,当目标集群仅包含一个子服务节点时,会直接将该子服务节点的负载值作为实际负载值。需要说明的是,本步骤与下述S204至S206为并行的执行,并没有先后顺序。
S204:当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值。
S205:通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定目标集群的加权负荷值。
S206:通过SW.S=(SMW+SLM.ORT)/SC确定目标集群的预估负载值。
S207:当预估负载值大于最高负载值时,将最高负载值作为目标集群的实际负载值;当预估负载值小于最高负载值时,将预估负载值作为目标集群的实际负载值。
上述S204至S207与上述发明实施例中S102至S105基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。
S208:沿时间的先后顺序获取最新的连续第二预设数量的实际负载值。
S209:计算第二预设数量的实际负载值的平均值作为目标集群的真实负载值。
在本步骤中,具体会获取最新且连续的第二预设数量的实际负载值,计算该第二预设数量实际负载值的平均值作为目标集群的真实负载值,以便根据该真实负载值作为依据分发业务。在本步骤中通过计算平均值的方法可以进一步避免流量突刺等影响。
具体的,在本发明实施例中,所述第二预设数量可以为五,即在本步骤中通常是计算连续五个最新的实际负载值的平均值作为后续步骤中作为目标集群参考的真实负载值。当然,在本发明实施例中上述第二预设数量也可以为其他取值,在本发明实施例中不做具体限定。
S210:根据真实负载值向目标集群分发业务。
本步骤与上述S106基本类似,在本步骤中具体是参考上述根据实际负载值得到的真实负载值,其余内容已在上述发明实施例中做详细介绍,在此不再进行赘述。
本发明所提供的一种基于微服务架构的业务分发方法,通过计算子服务节点的平均负载值,以及计算目标集群的平均负载值可以有效避免流量突刺或子服务节点因故障而造成负载值测量不准确情况的发生,使得计算结果更加贴近真实情况。
下面对本发明实施例所提供的一种基于微服务架构的业务分发装置进行介绍,下文描述的业务分发装置与上文描述的业务分发方法可相互对应参照。
图3为本发明实施例所提供的一种基于微服务架构的业务分发装置的结构框图,参照图3,基于微服务架构的业务分发装置,应用于网关节点,可以包括:
获取模块100:用于获取子服务节点的负载值。
最高负载值模块200:用于当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值。
加权负荷值模块300:用于通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值。
预估负载值模块400:用于通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和。
实际负载值模块500:用于当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值。
业务分发模块600:用于根据所述实际负载值向所述目标集群分发业务。
作为优选的,在本发明实施例中,当所述最高负载值不小于70且小于80时,所述等级加权值为1.1;当所述最高负载值不小于80且小于90时,所述等级加权值为1.3;当所述最高负载值不小于90时,所述等级加权值为1.5。
作为优选的,在本发明实施例中,还包括:
实际负载值确定模块:用于当所述目标集群中子服务节点的数量为1时,将所述子服务节点的负载值作为所述目标集群的实际负载值。
作为优选的,在本发明实施例中,获取模块100包括:
获取单元:用于沿时间的先后顺序获取所述子服务节点中最新的连续第一预设数量的原始负载值;
计算单元:用于计算第一预设数量的所述原始负载值的平均值作为所述子服务节点的负载值。
作为优选的,在本发明实施例中,所述第一预设数量为五。
作为优选的,在本发明实施例中,还包括:
连续真实负载值获取模块:用于沿时间的先后顺序获取最新的连续第二预设数量的所述实际负载值。
真实负载值模块:用于计算第二预设数量的所述实际负载值的平均值作为所述目标集群的真实负载值;
所述业务分发模块600具体用于:
根据所述真实负载值向所述目标集群分发业务。
作为优选的,在本发明实施例中,所述第二预设数量为五。
本实施例的基于微服务架构的业务分发装置用于实现前述的基于微服务架构的业务分发方法,因此业务分发装置中的具体实施方式可见前文中业务分发方法的实施例部分,例如,获取模块100,最高负载值模块200,加权负荷值模块300,预估负载值模块400,实际负载值模块500,业务分发模块600分别用于实现上述业务分发方法中步骤S101,S102,S103,S104,S105以及S106,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本发明实施例提供的一种基于微服务架构的业务分发设备进行介绍,下文描述的业务分发设备与上文描述的业务分发方法以及业务分发装置可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种基于微服务架构的业务分发设备的结构框图。
参照图4,该基于微服务架构的业务分发设备可以包括处理器11和存储器12,均应用于网关节点。
所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的基于微服务架构的业务分发方法。
本实施例的业务分发设备中处理器11用于安装上述发明实施例中所述的业务分发装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的业务分发方法。因此基于微服务架构的业务分发设备中的具体实施方式可见前文中业务分发方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种基于微服务架构的业务分发方法。其余内容可以参照现有技术,在此不再进行展开描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于微服务架构的业务分发方法、一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于微服务架构的业务分发方法,其特征在于,应用于网关节点,包括:
获取子服务节点的负载值;
当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;
通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值;
通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和;
当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值;
根据所述实际负载值向所述目标集群分发业务。
2.根据权利要求1所述的方法,其特征在于,当所述最高负载值不小于70且小于80时,所述等级加权值为1.1;当所述最高负载值不小于80且小于90时,所述等级加权值为1.3;当所述最高负载值不小于90时,所述等级加权值为1.5。
3.根据权利要求1所述的方法,其特征在于,当所述目标集群中子服务节点的数量为1时,将所述子服务节点的负载值作为所述目标集群的实际负载值。
4.根据权利要求3所述的方法,其特征在于,所述获取子服务节点的负载值包括:
沿时间的先后顺序获取所述子服务节点中最新的连续第一预设数量的原始负载值;
计算第一预设数量的所述原始负载值的平均值作为所述子服务节点的负载值。
5.根据权利要求4所述的方法,其特征在于,所述第一预设数量为五。
6.根据权利要求1所述的方法,其特征在于,还包括:
沿时间的先后顺序获取最新的连续第二预设数量的所述实际负载值;
计算第二预设数量的所述实际负载值的平均值作为所述目标集群的真实负载值;
所述根据所述实际负载值向所述目标集群分发业务包括:
根据所述真实负载值向所述目标集群分发业务。
7.根据权利要求6所述的方法,其特征在于,所述第二预设数量为五。
8.一种基于微服务架构的业务分发装置,其特征在于,应用于网关节点,包括:
获取模块:用于获取子服务节点的负载值;
最高负载值模块:用于当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;
加权负荷值模块:用于通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值;
预估负载值模块:用于通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和;
实际负载值模块:用于当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值;
业务分发模块:用于根据所述实际负载值向所述目标集群分发业务。
9.一种基于微服务架构的业务分发设备,其特征在于,应用于网关节点,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述基于微服务架构的业务分发方法的步骤。
10.一种计算机可读存储介质,其特征在于,应用于网关节点,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述基于微服务架构的业务分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499389.4A CN111683132B (zh) | 2020-06-04 | 2020-06-04 | 一种基于微服务架构的业务分发方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499389.4A CN111683132B (zh) | 2020-06-04 | 2020-06-04 | 一种基于微服务架构的业务分发方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111683132A true CN111683132A (zh) | 2020-09-18 |
CN111683132B CN111683132B (zh) | 2022-07-19 |
Family
ID=72434897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010499389.4A Active CN111683132B (zh) | 2020-06-04 | 2020-06-04 | 一种基于微服务架构的业务分发方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111683132B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332484A1 (en) * | 2012-06-06 | 2013-12-12 | Rackspace Us, Inc. | Data Management and Indexing Across a Distributed Database |
CN104516394A (zh) * | 2013-10-03 | 2015-04-15 | 香港城市大学 | 一种用于调节电源的方法 |
CN104881271A (zh) * | 2014-02-27 | 2015-09-02 | 中国移动通信集团重庆有限公司 | 云动态管理方法及装置 |
CN105516360A (zh) * | 2016-01-19 | 2016-04-20 | 苏州帕科泰克物联技术有限公司 | 一种计算机的负载均衡方法及装置 |
CN106101276A (zh) * | 2016-08-10 | 2016-11-09 | 东方网力科技股份有限公司 | 一种集群负载均衡方法及装置 |
CN106453122A (zh) * | 2016-09-23 | 2017-02-22 | 北京奇虎科技有限公司 | 一种流数据传输节点的选取方法和装置 |
CN106878420A (zh) * | 2017-02-17 | 2017-06-20 | 北京天融信网络安全技术有限公司 | 一种基于sdn的服务器负载均衡方法及装置 |
CN107707612A (zh) * | 2017-08-10 | 2018-02-16 | 北京奇艺世纪科技有限公司 | 一种负载均衡集群的资源利用率的评估方法及装置 |
US20180097707A1 (en) * | 2011-12-27 | 2018-04-05 | Netapp, Inc. | Managing client access for storage cluster performance guarantees |
US20180227361A1 (en) * | 2015-10-09 | 2018-08-09 | Capital One Services, Llc | System and method for risk-aware server load balancing |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
CN108881432A (zh) * | 2018-06-15 | 2018-11-23 | 广东省城乡规划设计研究院 | 基于ga算法的云计算集群负载调度方法 |
CN110650195A (zh) * | 2019-09-24 | 2020-01-03 | 支付宝(杭州)信息技术有限公司 | 分布式负载均衡方法以及装置 |
-
2020
- 2020-06-04 CN CN202010499389.4A patent/CN111683132B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180097707A1 (en) * | 2011-12-27 | 2018-04-05 | Netapp, Inc. | Managing client access for storage cluster performance guarantees |
US20130332484A1 (en) * | 2012-06-06 | 2013-12-12 | Rackspace Us, Inc. | Data Management and Indexing Across a Distributed Database |
CN104516394A (zh) * | 2013-10-03 | 2015-04-15 | 香港城市大学 | 一种用于调节电源的方法 |
CN104881271A (zh) * | 2014-02-27 | 2015-09-02 | 中国移动通信集团重庆有限公司 | 云动态管理方法及装置 |
US20180227361A1 (en) * | 2015-10-09 | 2018-08-09 | Capital One Services, Llc | System and method for risk-aware server load balancing |
CN105516360A (zh) * | 2016-01-19 | 2016-04-20 | 苏州帕科泰克物联技术有限公司 | 一种计算机的负载均衡方法及装置 |
CN106101276A (zh) * | 2016-08-10 | 2016-11-09 | 东方网力科技股份有限公司 | 一种集群负载均衡方法及装置 |
CN106453122A (zh) * | 2016-09-23 | 2017-02-22 | 北京奇虎科技有限公司 | 一种流数据传输节点的选取方法和装置 |
CN106878420A (zh) * | 2017-02-17 | 2017-06-20 | 北京天融信网络安全技术有限公司 | 一种基于sdn的服务器负载均衡方法及装置 |
CN107707612A (zh) * | 2017-08-10 | 2018-02-16 | 北京奇艺世纪科技有限公司 | 一种负载均衡集群的资源利用率的评估方法及装置 |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
CN108881432A (zh) * | 2018-06-15 | 2018-11-23 | 广东省城乡规划设计研究院 | 基于ga算法的云计算集群负载调度方法 |
CN110650195A (zh) * | 2019-09-24 | 2020-01-03 | 支付宝(杭州)信息技术有限公司 | 分布式负载均衡方法以及装置 |
Non-Patent Citations (3)
Title |
---|
WEIXIN_30815427: "微服务 分布式 集群 负载均衡", 《CSDN》 * |
易畅: "微服务集群负载均衡技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑) 》 * |
牟林钢: "一种微服务架构下的负载均衡策略优化方法", 《电子设计工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111683132B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294508B (zh) | 一种刷量工具检测方法及装置 | |
CN110582064B (zh) | 一种短信分发方法、装置、设备、介质 | |
CN110213780A (zh) | 网络切片的管理方法、管理和编排实体及存储介质 | |
CN102938790A (zh) | 云计算系统中的资源分配方法 | |
CN109598447A (zh) | 配送压力调整、订单分配方法及装置、电子设备及介质 | |
CN110413396A (zh) | 一种资源调度方法、装置、设备及可读存储介质 | |
CN110519090A (zh) | 一种fpga云平台的加速卡分配方法、系统及相关组件 | |
CN115714817A (zh) | 一种动态反馈加权云存储资源调度方法、装置及设备 | |
CN111651274A (zh) | 一种基于微服务架构的业务分发方法及相关装置 | |
CN114327884A (zh) | 自动扩缩容方法、装置、设备及可读存储介质 | |
CN114614989A (zh) | 基于数字孪生技术的网络业务的可行性验证方法及装置 | |
CN111683132B (zh) | 一种基于微服务架构的业务分发方法及相关装置 | |
CN111585798A (zh) | 一种网络资源参数配置方法、装置和计算机可读存储介质 | |
CN114448988A (zh) | 一种节点负载均衡方法、装置、设备、存储介质 | |
CN107370149B (zh) | 确定电力系统负荷削减量的方法和系统 | |
CN104486769B (zh) | 一种价值小区的选取方法及装置 | |
CN108197347B (zh) | 连续不规则区域采样点的地理空间分布均匀度检测方法 | |
CN112714183A (zh) | 基于微服务的多设备物联网连接方法、设备、存储介质 | |
CN111683133B (zh) | 一种基于微服务架构的业务限流方法及相关装置 | |
CN116226104A (zh) | 数据表维护方法、装置、存储介质和电子设备 | |
CN114997687A (zh) | 资源调度方法、装置、存储介质及电子设备 | |
CN111711957B (zh) | 基于流量的站点扩容预测方法、装置及系统 | |
CN114417184A (zh) | 一种种子节点筛选方法、装置、设备、存储介质 | |
CN113608870A (zh) | 消息队列的负载均衡方法及装置、电子设备及存储介质 | |
CN112734466A (zh) | 一种关联信息的处理方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220627 Address after: 400010 No.1-6, floor 9, No.789 Jingwei Avenue, Yuzhong District, Chongqing Applicant after: CHONGQING JINVOVO NETWORK TECHNOLOGY Co.,Ltd. Address before: 400014 9-1, No. 789, Jingwei Avenue, Yuzhong District, Chongqing Applicant before: Chongqing yinglou Weixing Information Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |