全链路自适应负载均衡方法技术

技术编号:39646291 阅读:6 留言:0更新日期:2023-12-09 11:14
本公开实施方式涉及一种全链路自适应负载均衡方法

【技术实现步骤摘要】
全链路自适应负载均衡方法、装置、介质及设备


[0001]本公开的实施方式涉及计算机
,更具体地,本公开的实施方式涉及一种全链路自适应负载均衡方法

全链路自适应负载均衡装置

计算机存储介质及电子设备


技术介绍

[0002]本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术

[0003]当前大多数的互联网系统都使用了服务器集群技术,集群,即将相同服务部署在多个服务器上构成一个集群整体对外提供服务,这些集群可以是
Web
应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等

在实际应用中,在
Web
服务器集群之前总会有一个负载均衡服务器,负载均衡设备的任务就是作为
Web
服务器流量的入口,挑选最合适的一个
Web
服务器,将客户端的请求转发给这个
Web
服务器处理,实现客户端到真实服务端的透明转发

[0004]也就是说,负载均衡是将业务请求及时转发至相应的服务
(
功能
)
的方法

在存在多个服务的场景下,各业务请求流量经过多层负载均衡的转发后,直接到达相应的服务

相关技术中,服务存在以下两个问题:
[0005](1)
服务的限流在服务本身,而无法告知全链路,如此,链路中该服务的上游服务无法根据服务的实时负载调整流量,如此,在业务请求流量到达服务时,如果业务请求流量高于服务的流量阈值,会造成请求的无效转发,浪费宽带资源的同时,也对宽带资源造成了额外开销;
[0006](2)
如果业务请求流量低于服务的流量阈值,则不能充分的利用资源


技术实现思路

[0007]本公开提供一种全链路自适应负载均衡方法

全链路自适应负载均衡装置

计算机存储介质及电子设备,以根据服务的当前负载,实时调整服务的流量,充分利用资源的同时,不会存在请求的无效转发

[0008]根据本公开的第一方面,提供一种全链路自适应负载均衡方法,应用于设置于服务的代理进程,所述方法包括:获取所述服务的当前负载;其中,所述当前负载的类型至少包括
CPU
占用率

平均响应时间和平均负载中的一者;确定所述服务的当前负载与所述服务的负载阈值之间的大小关系;在所述服务的当前负载不等于所述服务的负载阈值的情况下,根据所述服务的负载阈值确定对应的所述服务的流量阈值;将所述服务的流量阈值传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述流量阈值调整所述服务的流量

[0009]在一种实施方式中,所述服务为多个,所述在所述服务的当前负载与所述服务的负载阈值之间的大小关系不符合预设条件的情况下,根据所述服务的负载阈值确定对应的流量阈值,包括:在所述服务的当前负载大于所述服务的负载阈值的情况下,根据所述服务
的当前负载和所述服务的负载阈值,确定所述服务的负载降低权重;将所述负载降低权重作为所述服务的流量降低权重;获取所述服务的当前流量,并根据所述服务的流量降低权重和所述服务的当前流量确定所述服务的流量降低量;根据所述服务的流量降低量和所述服务的当前流量确定所述服务的第一更新流量阈值

[0010]在一种实施方式中,所述根据所述服务的流量降低量和所述服务的当前流量确定所述服务的第一更新流量阈值,包括:确定所述服务的当前流量和所述服务的流量降低量之差,得到所述服务的流量差值;确定所述服务的流量差值小于所述服务的流量阈值,并将所述服务的流量差值作为所述服务的第一更新流量阈值

[0011]在一种实施方式中,所述将所述服务的流量阈值传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述流量阈值调整所述服务的流量,包括:将所述服务的第一更新流量阈值和所述服务的流量降低权重传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述服务的第一更新流量阈值和所述服务的流量降低权重调整所述服务的流量

[0012]在一种实施方式中,所述服务的上游服务根据所述服务的第一更新流量阈值和所述服务的流量降低权重调整所述服务的流量,包括:所述服务的上游服务根据所述服务的流量降低权重和所述上游服务的当前流量,确定所述服务的分配流量;所述服务的上游服务以所述服务的分配流量和所述服务的第一更新流量阈值中的小者调整所述服务的流量

[0013]在一种实施方式中,所述服务为多个,所述在所述服务的当前负载与所述服务的负载阈值之间的大小关系不符合预设条件的情况下,根据所述服务的负载阈值确定对应的流量阈值,包括:在所述服务的当前负载小于所述服务的负载阈值的情况下,根据所述服务的当前负载和所述服务的负载阈值,确定所述服务的负载增加权重;将所述负载增加权重作为所述服务的流量增加权重;获取所述服务的当前流量,并根据所述服务的流量增加权重和所述服务的当前流量确定所述服务的流量增加量;根据所述服务的流量增加量和所述服务的当前流量确定所述服务的第二更新流量阈值

[0014]在一种实施方式中,在所述获取所述服务的当前负载之前,所述方法包括:获取所述服务的冷启动最低流量值和冷启动最高流量值;将所述冷启动最低流量值和所述冷启动最高流量值传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述冷启动最低流量值和所述冷启动最高流量值调整所述服务的流量

[0015]在一种实施方式中,在所述链路上所述服务的上游服务根据所述限流阈值调整所述服务的流量之后,所述方法包括:将所述服务的下线信息传递至所述服务所在的链路和与所述服务连接的注册中心,以使所述链路上所述服务的上游服务根据所述服务的下线信息将所述服务的流量权重调整为零,并使应用程序在预设时长后不调用所述服务;所述应用程序包括一个或多个所述服务;确定所述服务是处理完残留请求后下线的

[0016]根据本公开的第二方面,提供一种全链路自适应负载均衡装置,所述装置包括:数据获取模块,被配置为获取所述服务的当前负载;其中,所述当前负载的类型至少包括
CPU
占用率

平均响应时间和平均负载中的一者;第一确定模块,被配置为确定所述服务的当前负载与所述服务的负载阈值之间的大小关系;第二确定模块,被配置为在所述服务的当前负载不等于所述服务的负载阈值的情况下,根据所述服务的负载阈值确定对应的所述服务的流量阈值;处理模块,被配置为将所述服务的流量阈值传递至所述服务所在的链路,以使
所述链路上所述服务的上游服务根据所述流量阈值调整所述服务的流量

[0017]根据本公开实施方式的第三方面,提供一种计算机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种全链路自适应负载均衡方法,其特征在于,应用于设置于服务的代理进程,所述方法包括:获取所述服务的当前负载;其中,所述当前负载的类型至少包括
CPU
占用率

平均响应时间和平均负载中的一者;确定所述服务的当前负载与所述服务的负载阈值之间的大小关系;在所述服务的当前负载不等于所述服务的负载阈值的情况下,根据所述服务的负载阈值确定对应的所述服务的流量阈值;将所述服务的流量阈值传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述流量阈值调整所述服务的流量
。2.
根据权利要求1所述的全链路自适应负载均衡方法,其特征在于,所述服务为多个,所述在所述服务的当前负载与所述服务的负载阈值之间的大小关系不符合预设条件的情况下,根据所述服务的负载阈值确定对应的流量阈值,包括:在所述服务的当前负载大于所述服务的负载阈值的情况下,根据所述服务的当前负载和所述服务的负载阈值,确定所述服务的负载降低权重;将所述负载降低权重作为所述服务的流量降低权重;获取所述服务的当前流量,并根据所述服务的流量降低权重和所述服务的当前流量确定所述服务的流量降低量;根据所述服务的流量降低量和所述服务的当前流量确定所述服务的第一更新流量阈值
。3.
根据权利要求2所述的全链路自适应负载均衡方法,其特征在于,所述根据所述服务的流量降低量和所述服务的当前流量确定所述服务的第一更新流量阈值,包括:确定所述服务的当前流量和所述服务的流量降低量之差,得到所述服务的流量差值;确定所述服务的流量差值小于所述服务的流量阈值,并将所述服务的流量差值作为所述服务的第一更新流量阈值
。4.
根据权利要求2或3所述的全链路自适应负载均衡方法,其特征在于,所述将所述服务的流量阈值传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述流量阈值调整所述服务的流量,包括:将所述服务的第一更新流量阈值和所述服务的流量降低权重传递至所述服务所在的链路,以使所述链路上所述服务的上游服务根据所述服务的第一更新流量阈值和所述服务的流量降低权重调整所述服务的流量
。5.
根据权利要求4所述的全链路自适应负载均衡方法,其特征在于,所述服务的上游服务根据所述服务的第一更新流量阈值和所述服务的流量降低权重调整所述服务的流量,包括:所述服务的上游服务根据所述服务的流量降低权重和所述上游服务的当前流量,确定所述服务的分配流量;所述服务的上游服务以所述服务的分配流量和所述服务的第一更新流量阈值中的小者调整所述服务的流量
。6.
根据权利要求1所述的全链路自适...

【专利技术属性】
技术研发人员:陈健斌
申请(专利权)人:同盾科技有限公司
类型:发明
国别省市:

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

1