【技术实现步骤摘要】
一种基于微服务架构的业务分发方法及相关装置
本专利技术涉及微服务
,特别是涉及一种基于微服务架构的业务分发方法、一种基于微服务架构的业务分发装置、一种基于微服务架构的业务分发设备以及一种计算机可读存储介质。
技术介绍
随着科技的进步以及社会的发展,微服务系统在人们日常生活中的应用越来越广泛。微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。在现阶段,通常会使用多个子服务节点构成具有特定功能的集群,例如实现用户管理功能的集群、用于实现订单服务的集群、用于实现支付服务功能的集群等等。上述集群通常不对应一个实体结构,而是一个逻辑概念。在当下微服务体系架构的软件项目中,网关是不可或缺的一个重要组成部分,网关节点主要用于向子服务节点分发业务,而不同子服务节点通常分属于不同的集群。在现阶段,网关节点在向子服务节点分发业务且业务量较大时,容易造成子服务节点负载过高。所以如何提供一种可以在微服务系统中准确分发业务的方法是本领域技术人员急需解决的问题。需要参考子服务节点所属集群的负载值。而在现有技术中,对于集群负载值计算的方法并不能准确反映整个集群真实的负载情况,所以如何提供一种可以准确反映出微服务系统中集群负载的方法是本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的是提供一种基于微服务架构的业务分发方法,可以使网关节点在微服务系统中准确分发业务; ...
【技术保护点】
1.一种基于微服务架构的业务分发方法,其特征在于,应用于网关节点,包括:/n获取子服务节点的负载值;/n当目标集群中子服务节点的数量大于1时,确定目标集群所对应的多个负载值中的最高负载值;/n通过SMW=SLM.MAX×(LAW+(0.1×(SC-1)))确定所述目标集群的加权负荷值;所述SMW为所述加权负荷值,所述SLM.MAX为所述最高负载值;所述SC为所述目标集群中子服务节点的数量;所述LAW为所述最高负载值对应的等级加权值;/n通过SW.S=(SMW+SLM.ORT)/SC确定所述目标集群的预估负载值;所述SW.S为所述预估负载值;所述SLM.ORT为所述目标集群所对应的多个负载值中,除去所述最高负载值后剩余负载值的和;/n当所述预估负载值大于所述最高负载值时,将所述最高负载值作为所述目标集群的实际负载值;当所述预估负载值小于所述最高负载值时,将所述预估负载值作为所述目标集群的实际负载值;/n根据所述实际负载值向所述目标集群分发业务。/n
【技术特征摘要】
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所述的方法,其特征在于,还包括:
沿时间的先后顺序获取最新的连续第二预设数量的所述...
【专利技术属性】
技术研发人员:赵毅,
申请(专利权)人:重庆英楼维兴信息科技有限公司,
类型:发明
国别省市:重庆;50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。