[发明专利]一种基于Nginx的动态权重负载均衡方法在审
申请号: | 202010187362.1 | 申请日: | 2020-03-17 |
公开(公告)号: | CN111381971A | 公开(公告)日: | 2020-07-07 |
发明(设计)人: | 李云;谭畅 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 重庆辉腾律师事务所 50215 | 代理人: | 王海军 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nginx 动态 权重 负载 均衡 方法 | ||
本发明为一种基于Nginx的动态权重负载均衡方法,该方法包括:获取各后端服务器节点的无负载状态下的硬件性能;计算硬件影响权重;根据硬件性能和硬件影响权重求各服务器节点在无负载状态下的权重,并将其作为动态权重负载均衡算法的初始权重;定时获取各后端服务器的负载信息并计算各硬件使用比率;根据硬件性能计算出硬件平均性能基准;根据各硬件使用比率和硬件平均性能基准计算各节点剩余负载;并求出最终权重;根据所述最终权值为服务器分配相应的负载;本发明建立了基于加权轮询算法的动态权重负载均衡算法,使得实现了权重的动态变化,解决了传统负载均衡算法无法根据后端服务器负载改变权重,使得负载失衡的问题。
技术领域
本发明属于计算机技术领域,特别涉及一种基于Nginx的动态权重负载均衡方法。
背景技术
随着互联网的高速发展,用户数量与日俱增,用户发出的请求越来越多,这些请求对单机服务器会产生巨大的负载压力,集群技术的发展为这个问题提供了解决方法,而负载均衡是集群技术中十分重要的一部分。Nginx是一款高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,因其丰富的功能、稳定性、低系统资源消耗而闻名,受到广大厂商喜爱。
目前,基于Nginx负载均衡的分配方法有很多,例如,专利申请号为201810870243.9的《一种基于WebSocket长连接的Nginx动态负载均衡方》公开了建立Nginx和后端服务器节点之间的WebSocket长连接、计算各后端服务器节点在无负载下的静态权重和剩余负载阈值、收集后端服务器节点周期性负载信息、计算当前服务器后端节点的剩余负载参数和实时负载权重、判断剩余负载参数和剩余负载阈值大小关系和由Nginx根据最新负载权重合理分配请求,完成分配。该方法解决了传统的静态负载均衡方法中负载权重不能根据系统后端服务器实际情况变动而导致负载不均衡的问题。
但是,Nginx自带的负载均衡策略,包括轮询、加权轮询、IPHASH等算法均为静态算法,无法根据服务器实时负载来调整策略分发请求,造成负载失衡。
发明内容
为解决以上现有技术问题,本发明提出了一种基于Nginx的动态权重负载均衡方法,包括:
前端向负载均衡器发出请求;负载均衡器根据收到的请求信息对服务器发送收集负载信息命令;服务接收收集负载信息命令后将收集到的负载信息发送给负载均衡器;负载均衡器采用动态权值分配算法处理负载信息求出最终权值;根据最终权值为服务器分配相应的负载;将负载的分配结果返回前端。
优选的,所述动态权值分配算法为:获取各服务器中无负载状态下的硬件性能数据;根据各硬件性能对服务器的影响计算硬件影响权重;
根据获取的硬件性能数据和硬件影响权重计算各服务器节点在无负载状态下的权重,将得到的无负载状态下的权重作为动态权重负载均衡算法的初始权重;
定时获取各服务器的负载信息;根据获取的负载信息确定各硬件的使用比率;根据服务器节点的硬件性能计算硬件平均性能基准;根据各硬件使用比率和硬件平均性能基准求出各节点剩余负载;根据初始权重和剩余负载计算最终权重值。
优选的,计算硬件影响权重的公式为:
优选的,动态权重负载均衡算法的初始权重:
优选的,计算各节点剩余负载的公式为:
优选的,计算硬件平均性能基准的公式为:
优选的,最终权重为:DW(j)=B*SW(j)*L(j)。
本法明通过计算初始权值和服务器剩余负载值,结合计算出实际最终权值,再根据最终权值来分配任务请求,解决了负载权重值不会随着服务器的负载情况而改变的技术问题,从而提升了服务器性能和服务效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010187362.1/2.html,转载请声明来源钻瓜专利网。