本发明公开基于lvs的dr模式配合动态权值实现负载均衡的方法及系统,涉及云计算技术。
背景技术:
1、负载均衡(load balance)是指将负载进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。负载均衡的优点在于,它能够降低服务器负载,将请求按照选定的算法分发到多个服务器。
2、lvs,是linux virtual server的简称,也就是linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目。lvs由用户空间的ipvsadm和内核空间的ipvs组成,ipvsadm用来定义规则,ipvs利用ipvsadm定义的规则工作。通过lvs提供的负载均衡技术和linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
3、virtual server via direct routing(vs-dr):用直接路由技术实现虚拟服务器。当参与集群的计算机和作为控制管理的计算机在同一个网段时能够用此方法,控制管理的计算机接收到请求包时直接送到参与集群的节点。dr的转发模式决定了它的转发速度在lvs中是最快的。
4、lvs添加后端的时候,权值都是人为设定好的,考虑到机器的磨损,服务器性能会随时间不断变化,有些长连接很多,但是后端实际比较空闲,这样运维人员给他设置的权值会有不合理的存在,极大的影响了负载均衡的效果。
5、故现发明基于lvs的dr模式配合动态权值实现负载均衡的方法及系统,以解决上述问题。
技术实现思路
1、本发明针对现有技术的问题,提供基于lvs的dr模式配合动态权值实现负载均衡的方法及系统,所采用的技术方案为:基于lvs的dr模式配合动态权值实现负载均衡的方法,所述方法的具体步骤如下:
2、s1构建lvs的dr模式网络环境;
3、s2将后端添加到lvs的配置里,设定初始权值,并根据服务器实际情况调整权值;
4、s3通过定时任务定期向后端发送检测请求来获取当前后端server的负载情况;为保证后端流量的均衡发送,根据负载情况动态修改在lvs中的权值;
5、s4服务器根据当前情况返回最大使用率资源值;
6、s5根据采集的数据通过算法计算出最终的权值,返回给lvs节点,lvs根据返回值动态修改权重值。
7、所述的s1具体步骤如下:
8、s101由于lvs的dr模式用于同一个局域网中,所以需要使后端服务器和负载均衡lvs处于同一个局域网中;
9、s102为使后端服务器可用,负载均衡lvs节点上需要安装idirectord来进行心跳检测;
10、s103通过心跳检测能够剔除不能正常工作的后端服务器,能够将恢复正常的后端服务器添加回负载均衡的后端服务器中。
11、所述的s4具体步骤如下:
12、s401在后端server中,通过小程序来接收定时的请求;
13、s402主要的参数指标有cpu利用率,内存占用率,i/0利用;参数指标信息能够通过由linux命令或者是一些开源的代码来获取;亦或通过请求响应时间获取;
14、s403选择该服务器的短板指标作为最终指标。
15、所述的s5具体步骤如下:
16、s501为实现更加细节动态的负载均衡,当一个后端服务器的内存利用率或者cpu频率很高时,降低其权值,减少转发给他得流量;
17、s502自行设置动态获取的时间;在动态变化过程中,由于其他的后端正常工作,动态修改时串行操作,其间业务不会中断。
18、基于lvs的dr模式配合动态权值实现负载均衡的系统,其特征是所述的系统具体包括构建模块、调整模块、修改模块1、执行模块和修改模块2:
19、构建模块:构建lvs的dr模式网络环境;
20、调整模块:将后端添加到lvs的配置里,设定初始权值,并根据服务器实际情况调整权值;
21、修改模块1:通过定时任务定期向后端发送检测请求来获取当前后端server的负载情况;为保证后端流量的均衡发送,根据负载情况动态修改在lvs中的权值;
22、执行模块:服务器根据当前情况返回最大使用率资源值;
23、修改模块2:根据采集的数据通过算法计算出最终的权值,返回给lvs节点,lvs根据返回值动态修改权重值。
24、所述构建模块具体包括局域网模块、安装模块和心跳检测模块:
25、局域网模块:由于lvs的dr模式用于同一个局域网中,所以需要使后端服务器和负载均衡lvs处于同一个局域网中;
26、安装模块:为使后端服务器可用,负载均衡lvs节点上需要安装idirectord来进行心跳检测;
27、心跳检测模块:通过心跳检测能够剔除不能正常工作的后端服务器,能够将恢复正常的后端服务器添加回负载均衡的后端服务器中。
28、所述执行模块具体包括接受请求模块、参数指标模块和最终指标模块:
29、接受请求模块:在后端server中,通过小程序来接收定时的请求;
30、参数指标模块:主要的参数指标有cpu利用率,内存占用率,i/0利用;参数指标信息能够通过由linux命令或者是一些开源的代码来获取;亦或通过请求响应时间获取;
31、最终指标模块:选择该服务器的短板指标作为最终指标。
32、所述修改模块2具体包括负载平衡模块和运作模块。
33、负载平衡模块:为实现更加细节动态的负载均衡,当一个后端服务器的内存利用率或者cpu频率很高时,降低其权值,减少转发给他得流量;
34、运作模块:自行设置动态获取的时间;在动态变化过程中,由于其他的后端正常工作,动态修改时串行操作,其间业务不会中断。
35、本发明的有益效果为:采用动态的分配权值,能够在健康检查的时候或者是在每天固定的时间,对后端进行算法检测,根据后端服务器的实际情况进行权值的修改;dr配合动态权值的设置,能够实现公司内网或者局域网环境的高速负载均衡,提升服务器利用率和负载均衡效率;利用lvs的dr模式,根据后端服务器的实际情况动态修改后端服务器权值,使得负载均衡效率提高,做到更加均衡以及快速稳定的转发,高速负载均衡,用idirectord对后端进行健康检查,动态修改后端服务器的权值,全方位的保证负载均衡上的业务高可靠,高性能运行。
1.基于lvs的dr模式配合动态权值实现负载均衡的方法,其特征是所述方法的具体步骤如下:
2.根据权利要求1所述的方法,其特征是所述的s1具体步骤如下:
3.根据权利要求2所述的方法,其特征是所述的s4具体步骤如下:
4.根据权利要求3所述的方法,其特征是所述的s5具体步骤如下:
5.基于lvs的dr模式配合动态权值实现负载均衡的系统,其特征是所述的系统具体包括构建模块、调整模块、修改模块1、执行模块和修改模块2:
6.根据权利要求5所述的系统,其特征是所述构建模块具体包括局域网模块、安装模块和心跳检测模块:
7.根据权利要求6所述的系统,其特征是所述执行模块具体包括接受请求模块、参数指标模块和最终指标模块:
8.根据权利要求7所述的系统,其特征是所述修改模块2具体包括负载平衡模块和运作模块: