一种负载均衡方法及装置制造方法及图纸

技术编号:36684077 阅读:23 留言:0更新日期:2023-02-27 19:44
本申请公开了一种负载均衡方法及装置,涉及云计算技术领域,该方法包括:获取服务端的参数信息;确定各服务端的实时权重,根据实时权重对各服务端进行权重预分组;收到调用请求时,利用动态路由结果和预分组结果确定每个权重组中的可用地址个数;利用权重组的实时权重和与实时权重对应的可用地址个数,生成权重计算结果;按照权重计算结果确定调用请求的目标调用地址。本申请采用预分组的方式,将权重计算过程中,大量的重复计算工作移到后台异步计算,去除运行时繁重的遍历地址取参数的工作量,使得在集群规模特别庞大时也可以以极低性能损耗运行,结合动态路由结果和预分组结果生成权重计算结果,为大规模部署场景下的预热计算提供有力支持。算提供有力支持。算提供有力支持。

【技术实现步骤摘要】
一种负载均衡方法及装置


[0001]本申请涉及到云计算领域,具体而言,涉及一种负载均衡方法及装置。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]一般的,对于微服务体系下的远程调用框架,服务端部署的数量往往不止一台机器,因此在发起远程调用的时候必不可少的需要从多个地址中选择出一个地址来进行调用。关于地址筛选的过程主要可以分为如图2所示的两个阶段:路由筛选和负载均衡。路由筛选阶段的目的主要是对所有可以使用的目标地址进行筛选,如在国际化场景下因为合规的需要只能调用到同地域的服务端;负载均衡阶段的目的是从多个可用的目标地址中选择一个可用的地址进行本次调用。常见的负载均衡算法有:随机算法、基于权重的随机算法、一致性算法等。其中,基于权重的随机算法,可以通过权重计算,实现对服务端的选址。
[0004]对于大多数应用而言,在应用启动后的一段时间内由于初始化连接池、Java的C1、C2编译等原因,会造成卡顿的现象,应用预热的目的就是为了减少这本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:获取服务端的参数信息;所述参数信息包括服务端的地址、权重阈值和预热时长;基于所述权重阈值、所述预热时长和已预热时长,确定各服务端的实时权重,并根据所述实时权重对各服务端进行权重预分组,得到预分组结果;所述预分组结果中包括多个权重组;每个所述权重组中包括实时权重相同的一个或多个服务端的地址;收到调用请求时,利用动态路由结果和所述预分组结果确定每个所述权重组中的可用地址个数;所述动态路由结果中包括一个或多个可用地址;利用所述权重组的实时权重和与所述实时权重对应的可用地址个数,生成权重计算结果;按照所述权重计算结果确定所述调用请求的目标调用地址。2.根据权利要求1所述的方法,其特征在于,利用动态路由结果和所述预分组结果确定每个所述权重组中的可用地址个数,包括:若动态路由结果与所述权重组中存在相同的地址,则将该相同的地址作为可用地址;统计每个权重组中所述可用地址的个数。3.根据权利要求2所述的方法,其特征在于,若动态路由结果与所述权重组中存在相同的地址,则将该相同的地址作为可用地址,包括:对服务端的地址进行排序,得到排序信息;按照所述排序信息,利用二进制位分别标记所述动态路由结果中和每个所述权重组中所述服务端的地址的存在状态;若标记后的动态路由结果和标记后的权重组在相同排序位置的二进制值相同,则将权重组中该排序位置的地址作为可用地址。4.根据权利要求3所述的方法,其特征在于,若标记后的动态路由结果和标记后的权重组在相同排序位置的二进制值相同,则将权重组中该排序位置的地址作为可用地址,包括:将标记后的动态路由结果分别与每个标记后的权重组按位进行与操作,以判断相同排序位置的二进制值是否相同。5.根据权利要求1所述的方法,其特征在于,基于所述权重阈值、所述预热时长和已预热时长,确定各服务端的实时权重,并根据所述实时权重对各服务端进行权重预分组,包括:根据预热时长和已预热时长计算权重系数;利用所述权重系数和所述权重阈值计算服务端每个地址的实时权重;将所述实时权重相同的地址添加至同一个权重组中。6.根据权利要求1所述的方法,其特征在于,还包括:当每个服务端的所述已预热时长大于所述预热时长时,若...

【专利技术属性】
技术研发人员:江河清刘军郭浩罗毅
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1