CN106453125B - 一种基于实时负载率的远程服务调用负载均衡系统 - Google Patents
一种基于实时负载率的远程服务调用负载均衡系统 Download PDFInfo
- Publication number
- CN106453125B CN106453125B CN201610973234.3A CN201610973234A CN106453125B CN 106453125 B CN106453125 B CN 106453125B CN 201610973234 A CN201610973234 A CN 201610973234A CN 106453125 B CN106453125 B CN 106453125B
- Authority
- CN
- China
- Prior art keywords
- load
- service
- grade
- service instance
- client
- 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.)
- Active
Links
Classifications
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于实时负载率的远程服务调用负载均衡系统,包括监控中心、注册中心、客户端和服务端;所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端。
Description
技术领域
本发明属于信息系统领域,尤其涉及一种基于实时负载率的远程服务调用负载均衡系统。
背景技术
随着信息系统的发展,应用规模日趋庞大,不同应用间的交互不断增多,传统信息系统存在大量重复的共性业务逻辑,大大降低了系统的可靠性、可维护性与可定制性。目前,采取将核心业务抽取出来成为服务,划分原有复杂的应用,以模块形式独立部署,能够实现服务的共享与重用。
然而当服务数量不断增多,服务间依赖关系变的复杂,简单暴露与引用远程服务无法满足用户需求。传统的远程服务调用过程中,客户端直接配置远程服务地址进行服务访问,大量服务交互使得服务地址的配置管理十分困难。
在集群环境中,为保证服务调用的可靠性,多采用多服务实例部署。即单个服务包含多个可用的服务实例,防止单个服务实例出现异常的情况下,仍能维持服务的正常访问。在多实例场景中,如何选择服务实例进行连接成为服务交互中不可避免的问题。随机负载均衡算法,采用随机的方式发放客户端请求;轮询负载均衡算法,采用遍历服务实例列表的方式发放客户端请求。以上算法不具有一定的动态性,未能考虑服务的实时负载情况,并且不支持用户自定义的负载策略配置。
发明内容
发明目的:本发明针对目前信息系统中远程服务调用过程中存在的服务寻址不透明、服务负载不均问题,从服务实时负载率角度,提出一种基于实时负载率的远程服务调用负载均衡系统,包括监控中心、注册中心、客户端和服务端,
所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;
所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;
所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端。
所述服务端用于提供远程服务并向注册中心注册服务实例名称和访问地址等信息。
所述监控中心用于状态监控和统计服务连接数,具体包括:
监控中心分别接收服务端与客户端定时发送的心跳数据,根据心跳状态判断当前客户端与服务端的连接情况,将服务实例的新增、变更、异常、断开信息实时推送给在线的客户端;
监控中心实时统计当前服务实例所对应的客户端连接数信息,并向注册中心推送实例连接数更新列表;
监控中心提供可配置的监控周期设置,用户根据系统需求,定制监控统计频率。
所述注册中心作为负载均衡架构服务发布与服务订阅中心,分别向服务端与客户端提供服务自动注册与订阅功能。同时,注册中心内置服务实例负载等级划分器,接收由监控中心推送的服务实例当前连接数信息,并计算实时的服务实例负载率。
所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级,具体包括:
启动服务实例时,服务实例自动向注册中心发送注册信息,包括服务实例访问地址、服务实例名称、服务实例支持最大连接数MAX信息,注册中心接收注册信息并进行持久化,同时通知客户端;
注册中心获取服务实例连接数信息,计算服务负载率情况,实时将服务实例负载等级变动列表推送给客户端;
注册中心提供负载等级划分算法,根据等级划分标准,以级别数代替具体连接数字,表示服务实例当前负载率,同时屏蔽小范围连接数频繁上下波动导致的级别数更新,避免大量负载等级变更信息发送所导致的资源浪费;
当客户端启动时,向注册中心发送服务连接请求,注册中心接收服务连接请求,查询当前服务下可用服务实例列表向客户端推送,可用服务实例列表包括服务实例地址及其负载等级信息;
注册中心支持自定义的负载等级划分标准配置;
注册中心支持自定义的波动屏蔽范围配置。
所述注册中心包括负载等级划分模块,负载等级划分模块提供负载等级划分算法,计算服务实例当前负载率(Load Factor,LF),并将负载率转化为相应负载等级(LoadLevel,LL)以可量化的方式表示当前服务负载状态。
服务实例当前负载率LF的计算方式为:当前连接服务实例的客户端数量(ClientNumber,CN)与服务实例配置的最大连接数MAX之间的比值,通过如下公式计算负载等级LL:
所述负载等级划分模块提供可配置的负载等级划分标准,支持用户自定义的划分方式:负载等级划分模块提供划分标准的可配置文件,用户通过修改文件中包括等级数等配置项,生成自定义负载等级划分标准。
为避免连接服务实例的客户端数量在等级边界值上下波动导致负载等级在连续两个区间之间不断转换,并推送大量负载等级变更信息,所述负载等级划分模块对指定范围的连接服务实例的客户端数量变化采用屏蔽处理,方法如下:通过如下公式计算变动率CR(Change Rate,CR):
其中CN’表示前次统计得到的连接服务实例的客户端数量。
将变动率CR与设置的最小变动率MIN_CR(Minimal Change Rate,MIN_CR)进行比较,若CR≤MIN_CR,判定此次负载变动较小,屏蔽此次变动;若CR>MIN_CR,判定此次负载变动有效,计算负载均衡等级,并向负载均衡器模块推送服务实例新的负载等级值。
与负载等级划分标准相同,除了默认提供的MIN_CR值(0.1),架构支持可配置的MIN_CR值设置,用户可根据服务实例的实际负载状况进行配置。
负载率越高,负载等级越高,服务实例当前负载越大。默认的负载等级由高到低分包括1级、2级、3级、4级、5级。
默认的负载等级划分标准为:
负载率在20%以内(包括20%),相应负载等级为5(LOW);
负载率在20%以上,40%以内(包括40%),相应负载等级为4;
负载率在40%以上,60%以内(包括60%),相应负载等级为3;
负载率在60%以上,80%以内(包括80%),相应负载等级为2;
负载率在80%以上,相应负载等级为1(HIGH)。
所述负载均衡器模块为远程服务调用架构提供可定制化的负载均衡策略,从可用服务实例列表中筛选出服务实例向客户端推荐。
所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端,具体包括:
负载均衡器模块维护服务实例信息缓存,保证服务实例信息实时准确性,在注册中心故障中,仍能通过本地缓存实现服务调用;
负载均衡器模块提供基于服务实例负载均衡等级的负载均衡筛选算法,根据服务实例实时的负载率,分配客户端调用请求;
负载均衡器模块对于连接数等级最低的服务实例,始终推荐,减少重复的计算导致的客户端连接请求响应效率降低;
负载均衡器模块对不含有最高或最低负载等级服务实例集合,计算所有服务实例等级之和,按照负载等级高被选中概率低,负载等级低被选中概率高的算法,均衡化服务实例负载,从可用服务实例列表中筛选出服务实例,并向客户端推荐连接。所述负载均衡筛选算法包括如下步骤:
步骤1,一个服务包含一个服务实例的集合I={i0,i1,i2,...,iq},q为自然数,其中服务实例i0对应的负载等级以l0表示,i1对应的负载等级以l1表示,iq对应的负载等级以lq表示,以集合L表示服务实例对应的负载等级,则L={l0,l1,l2,...lq},以函数f(i)表示服务实例与其负载等级的对应关系,则f(i)=l。I包含子集Imin,Imax,Imid;I=Imin∪Imax∪Imid,且任意两个子集合之间的交集为空;子集Imin中的任意服务实例ik满足f(ik)=LOW,表示最低负载等级的服务实例集合;Imax中的任意服务实例ij满足f(ij)=HIGH,表示最高负载等级的服务实例集合;Imid中的任意服务实例im满足f(im)=(LOW,HIGH),表示最低与最高负载等级间的服务实例集合;
步骤2,若表示当前服务实例集合中,有服务实例负载等级最低的服务实例,则客户端从集合Imin中随机选取一个服务实例进行连接;并且若选中的服务实例负载等级维持最低,客户端始终选择该服务实例进行连接,不再重新筛选服务实例;
步骤3,若表示当前服务实例集合当中没有负载最低的服务实例,则根据服务实例负载高,被选择概率较低,服务实例负载高,被选择概率较低的规则,均分客户端请求,使得负载等级较高的服务实例被选中的概率较低,负载等级较低的服务实例被选择概率较高;
步骤4,若表示当前服务实例均负载较高,则客户端从集合Imax中随机选取一个服务实例进行连接。
步骤3包括如下步骤:
步骤3-1,对Imid中的元素按照负载等级由高到低进行排序,Imid={i0,i1,i2,...,in},其中i0表示Imid中负载等级最高的服务实例,in表示负载等级最低的服务实例;若Imid中存在负载等级相同的服务实例,则每个负载等级只计算一次;
步骤3-2,计算Imid中所有元素的负载等级之和此时,服务实例的负载等级所占sum(Imid)的比率表示该服务实例能够被选中的概率,负载率越高,其负载等级越高,所表示的数字越小,所占sum(Imid)的比率越小,被选中概率越低,反之负载等级越低,被选中概率越高;
步骤3-3,生成随机数r∈(0,sum(Imid)];
步骤3-4,被选中的服务实例i′满足:
有益效果:本发明针对服务远程调用技术领域,特别针对实时远程服务在发布订阅、监控与服务路由方面的应用。本发明通过注册中心、监控中心实现服务的透明寻址与实时监控,通过基于服务实时负载率的负载均衡算法以及可配置设置,实现服务调用的负载均衡。本发明能够实现远程服务资源的透明访问与平均分配。本发明收集服务实例的发布信息、实时状态与连接数量,根据可定制化的负载均衡算法,划分服务负载等级并筛选出服务实例向客户端推荐,实现对服务资源的合理调用。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为负载均衡系统架构。
图2为服务实例发布流程。
图3为服务实例订阅流程。
图4为服务实例更新流程。
图5为服务实例负载均衡算法流程。
具体实施方式
本发明是一种负载均衡策略,解决服务远程调用过程中的发布、订阅问题,特别是在服务访问过程中实现可动态调节的负载均衡方法。
如图1所示,本发明提出一种基于实时负载率的远程服务调用负载均衡系统,包括监控中心、注册中心、客户端和服务端,所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端。
所述监控中心用于状态监控和统计服务连接数,具体包括:
所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报。监控中心分别接收服务端与客户端定时发送的心跳数据,根据心跳状态判断当前客户端与服务端的连接情况,将服务实例的新增、变更、异常、断开信息实时推送给在线的客户端;
所述注册中心作为负载均衡架构服务发布与服务订阅中心,分别向服务端与客户端提供服务自动注册与订阅功能。同时,注册中心内置服务实例负载等级划分器,接收由监控中心推送的服务实例当前连接数信息,并计算实时的服务实例负载率。注册中心向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;
监控中心提供可配置的监控周期设置,用户根据系统需求,定制监控统计频率。
如图2所示,为服务实例发布流程。服务端启动后,注册服务实例,然后上报心跳信息,如果服务实例启动中,继续上报心跳信息,否则停止上报心跳信息。
如图3所示,为服务实例订阅流程。客户端启动后,发送服务订阅请求,注册中心接收请求,获取服务实例列表,推送服务实例列表向客户端,客户端接收服务实例列表信息。如图4所示,为服务实例更新流程,监控中心实时统计当前服务实例所对应的客户端连接数信息,并向注册中心推送实例连接数更新列表,客户端接收服务实例更新信息后进行更新。
所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级,具体包括:
启动服务实例时,服务实例自动向注册中心发送注册信息,包括服务实例访问地址、服务实例名称、服务实例支持最大连接数MAX信息,注册中心接收注册信息并进行持久化,同时通知客户端。
注册中心获取服务实例连接数信息,计算服务负载率情况,实时将服务实例负载等级变动列表推送给客户端。
注册中心提供负载等级划分算法,根据等级划分标准,以级别数代替具体连接数字,表示服务实例当前负载率,同时屏蔽小范围连接数频繁上下波动导致的级别数更新,避免大量负载等级变更信息发送所导致的资源浪费;
当客户端启动时,向注册中心发送服务连接请求,注册中心接收服务连接请求,查询当前服务下可用服务实例列表向客户端推送,可用服务实例列表包括服务实例地址及其负载等级信息。
注册中心支持自定义的负载等级划分标准配置;
注册中心支持自定义的波动屏蔽范围配置。
所述注册中心包括负载等级划分模块,负载等级划分模块提供负载等级划分算法,计算服务实例当前负载率(Load Factor,LF),并将负载率转化为相应负载等级(LoadLevel,LL)以可量化的方式表示当前服务负载状态。
服务实例当前负载率LF的计算方式为:当前连接服务实例的客户端数量(ClientNumber,CN)与服务实例配置的最大连接数MAX之间的比值,通过如下公式计算负载等级LL:
其中,CN表示当前连接服务实例的客户端数量。
所述负载等级划分模块提供可配置的负载等级划分标准,支持用户自定义的划分方式:负载等级划分模块提供划分标准的可配置文件,用户通过修改文件中包括等级数LN、负载率范围LFR配置项,生成自定义负载等级划分标准。
所述负载等级划分模块提供可配置的负载等级划分标准,支持用户自定义的划分方式:负载等级划分模块提供划分标准的可配置文件,用户通过修改文件中包括等级数等配置项,生成自定义负载等级划分标准。
为避免连接服务实例的客户端数量在等级边界值上下波动导致负载等级在连续两个区间之间不断转换,并推送大量负载等级变更信息,所述负载等级划分模块对指定范围的连接服务实例的客户端数量变化采用屏蔽处理,方法如下:通过如下公式计算变动率CR(Change Rate,CR):
其中CN’表示前次统计得到的连接服务实例的客户端数量。
将变动率CR与设置的最小变动率MIN_CR进行比较,若CR≤MIN_CR,判定此次负载变动较小,屏蔽此次变动;若CR>MIN_CR,判定此次负载变动有效,计算负载均衡等级,并向负载均衡器模块推送服务实例新的负载等级值。
与负载等级划分标准相同,除了默认提供的MIN_CR值(0.1),架构支持可配置的MIN_CR值设置,用户可根据服务实例的实际负载状况进行配置。
负载率越高,负载等级越高,服务实例当前负载越大。默认的负载等级由高到低分包括1级、2级、3级、4级、5级。
默认的负载等级划分标准为:
负载率在20%以内(包括20%),相应负载等级为5(LOW);
负载率在20%以上,40%以内(包括40%),相应负载等级为4;
负载率在40%以上,60%以内(包括60%),相应负载等级为3;
负载率在60%以上,80%以内(包括80%),相应负载等级为2;
负载率在80%以上,相应负载等级为1(HIGH)。
所述负载均衡器模块为远程服务调用架构提供可定制化的负载均衡策略,从可用服务实例列表中筛选出服务实例向客户端推荐。
所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端,具体包括:
负载均衡器模块维护服务实例信息缓存,保证服务实例信息实时准确性,在注册中心故障中,仍能通过本地缓存实现服务调用;
负载均衡器模块提供基于服务实例负载均衡等级的负载均衡筛选算法,根据服务实例实时的负载率,分配客户端调用请求;
负载均衡器模块对于连接数等级最低的服务实例,始终推荐,减少重复的计算导致的客户端连接请求响应效率降低;
负载均衡器模块对不含有最高或最低负载等级服务实例集合,计算所有服务实例等级之和,按照负载等级高被选中概率低,负载等级低被选中概率高的算法,均衡化服务实例负载,从可用服务实例列表中筛选出服务实例,并向客户端推荐连接。如图5所示,所述负载均衡筛选算法包括如下步骤:
步骤1,一个服务包含一个服务实例的集合I={i0,i1,i2,...,iq}(q为自然数),其中服务实例i0对应的负载等级以l0表示,i1对应的负载等级以l1表示,…,iq对应的负载等级以lq表示,以集合L表示服务实例对应的负载等级,则L={l0,l1,l2,...lq}(q为自然数),以函数f(i)表示服务实例与其负载等级的对应关系,则f(i)=l。I包含子集Imin,Imax,Imid;I=Imin∪Imax∪Imid,且任意两个子集合之间的交集为空;子集Imin中的任意服务实例ik满足f(ik)=LOW,表示最低负载等级的服务实例集合;Imax中的任意服务实例ij满足f(ij)=HIGH,表示最高负载等级的服务实例集合;Imid中的任意服务实例im满足f(im)=(LOW,HIGH),表示最低与最高负载等级间的服务实例集合;
步骤2,若表示当前服务实例集合中,有服务实例负载等级最低的服务实例,则客户端从Imin中随机选取一个服务实例进行连接;并且若选中的服务实例负载等级维持最低,客户端始终选择该服务实例进行连接,不再重新筛选服务实例;
步骤3,若表示当前服务实例集合当中没有负载最低的服务实例,则根据服务实例负载高,被选择概率较低,服务实例负载高,被选择概率较低的规则,均分客户端请求,使得负载等级较高的服务实例被选中的概率较低,负载等级较低的服务实例被选择概率较高;
步骤4,若表示当前服务实例均负载较高,则客户端从Imax中随机选取一个服务实例进行连接。
步骤3包括如下步骤:
步骤3-1,对Imid中的元素按照负载等级由高到低进行排序,Imid={i0,i1,i2,...,in},其中i0表示Imid中负载等级最高的服务实例,in表示负载等级最低的服务实例;若Imid中存在负载等级相同的服务实例,则每个负载等级只计算一次;
步骤3-2,计算Imid中所有元素的负载等级之和此时,服务实例的负载等级所占sum(Imid)的比率表示该服务实例能够被选中的概率,负载率越高,其负载等级越高,所表示的数字越小,所占sum(Imid)的比率越小,被选中概率越低,反之负载等级越低,被选中概率越高;
步骤3-3,生成随机数r∈(0,sum(Imid)];
步骤3-4,被选中的服务实例i′满足:
本发明支持服务的透明访问、实时监控与负载均衡。通过监控服务实例运行状态,统计服务实例的实时负载情况,本发明能够在同一服务多个服务实例间有效均衡分配客户端请求,使得客户端调用请求大概率发送至当前处于空闲状态的服务实例端,降低单个服务实例高负荷出现概率,从而整体提高远程服务调用的可靠性与稳定性,实现服务调用负载均衡。
尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。
Claims (1)
1.一种基于实时负载率的远程服务调用负载均衡系统,其特征在于,包括监控中心、注册中心、客户端和服务端;
所述监控中心用于状态监控和统计服务连接数,并向注册中心定时上报;
所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级;
所述客户端包括负载均衡器模块,所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端;
所述服务端用于提供远程服务并向注册中心注册服务实例名称和访问地址;
所述监控中心用于状态监控和统计服务连接数,具体包括:
监控中心分别接收服务端与客户端定时发送的心跳数据,根据心跳状态判断当前客户端与服务端的连接情况,将服务实例的新增、变更、异常、断开信息实时推送给在线的客户端;
监控中心实时统计当前服务实例所对应的客户端连接数信息,并向注册中心推送实例连接数更新列表;
监控中心提供可配置的监控周期设置,用户根据系统需求,定制监控统计频率;
所述注册中心用于提供服务发布与服务订阅,向客户端推送可用服务实例列表,并实时获取服务负载数量,计算服务实例负载等级,具体包括:
启动服务实例时,服务实例自动向注册中心发送注册信息,包括服务实例访问地址、服务实例名称、服务实例支持最大连接数MAX信息,注册中心接收注册信息并进行持久化,同时通知客户端;
注册中心获取服务实例连接数信息,计算服务负载率情况,实时将服务实例负载等级变动列表推送给客户端;
注册中心提供负载等级划分算法,根据等级划分标准,以级别数代替具体连接数字,表示服务实例当前负载率,同时屏蔽小范围连接数频繁上下波动导致的级别数更新;
当客户端启动时,向注册中心发送服务连接请求,注册中心接收服务连接请求,查询当前服务下可用服务实例列表向客户端推送,可用服务实例列表包括服务实例地址及其负载等级信息;
所述注册中心包括负载等级划分模块,负载等级划分模块提供负载等级划分算法,计算服务实例当前负载率LF,并将负载率转化为相应负载等级LL,以可量化的方式表示当前服务负载状态;
服务实例当前负载率LF的计算方式为:当前连接服务实例的客户端数量CN与服务实例配置的最大连接数MAX之间的比值,通过如下公式计算负载等级LL:
所述负载等级划分模块提供可配置的负载等级划分标准,支持用户自定义的划分方式:负载等级划分模块提供划分标准的可配置文件,生成自定义负载等级划分标准;
所述负载等级划分模块对指定范围的连接服务实例的客户端数量变化采用屏蔽处理,方法如下:通过如下公式计算负载变动率CR:
其中CN’表示前次统计得到的连接服务实例的客户端数量;
将变动率CR与设置的最小变动率MIN_CR进行比较,若CR≤MIN_CR,判定此次负载变动较小,屏蔽此次变动;若CR>MIN_CR,判定此次负载变动有效,计算负载均衡等级,并向负载均衡器模块推送服务实例新的负载等级值;
所述负载均衡器模块用于分析服务实例负载等级,根据负载均衡筛选算法筛选出服务实例,并推荐给客户端,具体包括:
负载均衡器模块维护服务实例信息缓存,保证服务实例信息实时准确性,在注册中心故障中,仍能通过本地缓存实现服务调用;
负载均衡器模块提供基于服务实例负载均衡等级的负载均衡筛选算法,根据服务实例实时的负载率,分配客户端调用请求;
负载均衡器模块对于连接数等级最低的服务实例,始终推荐,减少重复的计算导致的客户端连接请求响应效率降低;
负载均衡器模块对不含有最高或最低负载等级服务实例集合,计算所有服务实例等级之和,按照负载等级高被选中概率低,负载等级低被选中概率高的算法,均衡化服务实例负载,从可用服务实例列表中筛选出服务实例,并向客户端推荐连接;
所述负载均衡筛选算法包括如下步骤:
步骤1,一个服务包含一个服务实例的集合I={i0,i1,i2,...,iq},q为自然数,其中服务实例i0对应的负载等级以l0表示,i1对应的负载等级以l1表示,iq对应的负载等级以lq表示,以集合L表示服务实例对应的负载等级,则L={l0,l1,l2,...lq},以函数f(i)表示服务实例与其负载等级的对应关系,则f(i)=l,I包含子集Imin,Imax,Imid;I=Imin∪Imax∪Imid,且任意两个子集合之间的交集为空;子集Imin中的任意服务实例ik满足f(ik)=LOW,表示最低负载等级的服务实例集合;Imax中的任意服务实例ij满足f(ij)=HIGH,表示最高负载等级的服务实例集合;Imid中的任意服务实例im满足f(im)=(LOW,HIGH),表示最低与最高负载等级间的服务实例集合;
步骤2,若表示当前服务实例集合中,有服务实例负载等级最低的服务实例,则客户端从集合Imin中随机选取一个服务实例进行连接;并且若选中的服务实例负载等级维持最低,客户端始终选择该服务实例进行连接,不再重新筛选服务实例;
步骤3,若表示当前服务实例集合当中没有负载最低的服务实例,则根据服务实例负载高,被选择概率较低,服务实例负载高,被选择概率较低的规则,均分客户端请求,使得负载等级较高的服务实例被选中的概率较低,负载等级较低的服务实例被选择概率较高;
步骤4,若表示当前服务实例均负载较高,则客户端从集合Imax中随机选取一个服务实例进行连接;
步骤3包括如下步骤:
步骤3-1,对Imid中的元素按照负载等级由高到低进行排序,Imid={i0,i1,i2,...,in},其中i0表示Imid中负载等级最高的服务实例,in表示负载等级最低的服务实例;若Imid中存在负载等级相同的服务实例,则每个负载等级只计算一次;
步骤3-2,计算Imid中所有元素的负载等级之和此时,服务实例的负载等级所占sum(Imid)的比率表示该服务实例能够被选中的概率,负载率越高,其负载等级越高,所表示的数字越小,所占sum(Imid)的比率越小,被选中概率越低,反之负载等级越低,被选中概率越高;
步骤3-3,生成随机数r∈(0,sum(Imid)];
步骤3-4,被选中的服务实例i′满足:
其中,p取值为0~n,ip表示Imid中第p个元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973234.3A CN106453125B (zh) | 2016-11-04 | 2016-11-04 | 一种基于实时负载率的远程服务调用负载均衡系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610973234.3A CN106453125B (zh) | 2016-11-04 | 2016-11-04 | 一种基于实时负载率的远程服务调用负载均衡系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453125A CN106453125A (zh) | 2017-02-22 |
CN106453125B true CN106453125B (zh) | 2019-09-10 |
Family
ID=58181113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610973234.3A Active CN106453125B (zh) | 2016-11-04 | 2016-11-04 | 一种基于实时负载率的远程服务调用负载均衡系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453125B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707597A (zh) * | 2017-04-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种突发热点访问均衡处理方法及装置 |
CN109600402A (zh) * | 2017-09-30 | 2019-04-09 | 上海波克城市网络科技股份有限公司 | 服务器负载均衡方法及装置、存储介质、服务器、服务系统 |
CN110351311B (zh) * | 2018-04-02 | 2021-06-04 | 亿度慧达教育科技(北京)有限公司 | 负载均衡方法 |
CN109062739B (zh) * | 2018-08-28 | 2022-04-01 | 深圳市网心科技有限公司 | 调度服务器、负载均衡方法、系统和可读存储介质 |
CN109104377B (zh) * | 2018-09-21 | 2022-07-15 | 深圳前海微众银行股份有限公司 | 长连接负载均衡方法、设备、系统及计算机可读存储介质 |
CN109246246B (zh) * | 2018-10-31 | 2021-03-19 | 成都知道创宇信息技术有限公司 | 一种中心化全自动服务发现负载均衡系统 |
CN110233870A (zh) * | 2019-04-26 | 2019-09-13 | 福州慧校通教育信息技术有限公司 | 一种班牌系统客户端长连接处理方法及装置 |
CN110311900A (zh) * | 2019-06-19 | 2019-10-08 | 微梦创科网络科技(中国)有限公司 | 一种服务调用方法、装置、电子设备及存储介质 |
CN110336824B (zh) * | 2019-07-10 | 2021-12-03 | 中国民航信息网络股份有限公司 | 一种弱口令检测方法、检测控制设备及弱口令检测系统 |
CN110430074A (zh) * | 2019-07-30 | 2019-11-08 | 深圳栅格信息技术有限公司 | 一种监控采集软件与远端服务器的自动配置系统 |
CN110381163B (zh) * | 2019-07-30 | 2022-09-20 | 普信恒业科技发展(北京)有限公司 | 网关节点转发服务请求的方法及网关节点 |
CN110502761B (zh) * | 2019-08-27 | 2023-09-19 | 北京金山数字娱乐科技有限公司 | 一种翻译平台及其负载调整方法 |
CN111651274A (zh) * | 2020-06-04 | 2020-09-11 | 重庆英楼维兴信息科技有限公司 | 一种基于微服务架构的业务分发方法及相关装置 |
CN112217894A (zh) * | 2020-10-12 | 2021-01-12 | 浙江大学 | 一种基于动态权重的负载均衡系统 |
CN112532743B (zh) * | 2020-12-18 | 2021-11-30 | 上海安畅网络科技股份有限公司 | 一种智能负载均衡方法、装置及存储介质 |
CN112822280B (zh) * | 2021-01-16 | 2022-05-20 | 西安交通大学 | 一种去中心化的物联网微服务订阅和推送方法 |
CN113032431B (zh) * | 2021-04-23 | 2022-02-18 | 焦点科技股份有限公司 | 一种基于数据库中间件集群的高可用客户端负载均衡方法 |
CN113691583A (zh) * | 2021-07-15 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 一种基于蓝绿部署的多媒体服务系统、方法 |
CN114866614A (zh) * | 2022-05-05 | 2022-08-05 | 浙江工业大学 | 基于网络环境和服务器负载的服务自适应弹性调整的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335746A (zh) * | 2007-06-29 | 2008-12-31 | 国际商业机器公司 | 保护软件系统的完整性的安全设备和方法及其系统 |
CN101605092A (zh) * | 2009-07-10 | 2009-12-16 | 浪潮电子信息产业股份有限公司 | 一种基于内容的负载均衡系统 |
CN101695044A (zh) * | 2009-09-29 | 2010-04-14 | 中兴通讯股份有限公司 | 一种流媒体服务节点及其负载均衡方法 |
CN103457870A (zh) * | 2013-09-25 | 2013-12-18 | 武汉理工大学 | 用于分布式系统的负载均衡及高可用性子系统及方法 |
CN104426936A (zh) * | 2013-08-22 | 2015-03-18 | 中兴通讯股份有限公司 | 一种负载均衡方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI332780B (en) * | 2006-11-23 | 2010-11-01 | Cameo Communications Inc | Load balancing method for wireless network system |
-
2016
- 2016-11-04 CN CN201610973234.3A patent/CN106453125B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335746A (zh) * | 2007-06-29 | 2008-12-31 | 国际商业机器公司 | 保护软件系统的完整性的安全设备和方法及其系统 |
CN101605092A (zh) * | 2009-07-10 | 2009-12-16 | 浪潮电子信息产业股份有限公司 | 一种基于内容的负载均衡系统 |
CN101695044A (zh) * | 2009-09-29 | 2010-04-14 | 中兴通讯股份有限公司 | 一种流媒体服务节点及其负载均衡方法 |
CN104426936A (zh) * | 2013-08-22 | 2015-03-18 | 中兴通讯股份有限公司 | 一种负载均衡方法及系统 |
CN103457870A (zh) * | 2013-09-25 | 2013-12-18 | 武汉理工大学 | 用于分布式系统的负载均衡及高可用性子系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于负载平衡的企业分布式系统分析和设计;刘松;《中国优秀硕士学位论文全文数据库信息科技辑》;20090815(第08期);摘要、正文第22-25、41页 |
Also Published As
Publication number | Publication date |
---|---|
CN106453125A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453125B (zh) | 一种基于实时负载率的远程服务调用负载均衡系统 | |
CN109032801B (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
CN111737003B (zh) | Pod均衡调度方法、装置、主节点及存储介质 | |
US20050038833A1 (en) | Managing workload by service | |
CN103699445A (zh) | 一种任务调度方法、装置及系统 | |
CN109901927A (zh) | 智能化任务动态调度系统及其方法 | |
CN109271243B (zh) | 一种集群任务管理系统 | |
CN111045808B (zh) | 一种分布式网络任务调度方法及装置 | |
CN107295090A (zh) | 一种资源调度的方法和装置 | |
CN108551489A (zh) | 一种应用服务器负载均衡方法、系统、装置及存储介质 | |
CN113010576A (zh) | 云计算系统容量评估的方法、装置、设备和存储介质 | |
CN111381957B (zh) | 面向分布式平台的服务实例精细化调度方法及系统 | |
CN108809848A (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
CN112272201B (zh) | 一种设备纳管方法、系统及纳管集群 | |
CN108683557A (zh) | 微服务健康度评估方法、弹性伸缩方法及架构 | |
CN109165045A (zh) | 一种调整服务器的硬件配置的方法和装置 | |
CN112910798B (zh) | 一种流量自动调度方法、系统、设备及存储介质 | |
CN106126339B (zh) | 资源调整方法和装置 | |
CN106793093A (zh) | 一种业务处理方法及装置 | |
CN113645153A (zh) | 一种流量控制方法、装置、设备及介质 | |
CN106210120A (zh) | 一种服务器的推荐方法及其装置 | |
CN113271335A (zh) | 一种管控云计算终端和云服务器运作的系统 | |
CN110543366A (zh) | 用于业务集群的业务模块容量调优方法以及装置、服务器 | |
CN110597608A (zh) | 任务处理方法和装置、分布式系统以及存储介质 | |
CN116841752B (zh) | 一种基于分布式实时计算框架的数据分析计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |