一种NGINX服务器负载均衡的实现方法及系统技术方案

技术编号:15335129 阅读:240 留言:0更新日期:2017-05-16 21:57
本发明专利技术涉及一种NGINX服务器负载均衡的实现方法及系统,属于计算机网络通信领域。本发明专利技术提供的NGINX服务器负载均衡的实现方法,通过NGINX服务器采用触发式机制动态地更新后端服务器集群的资源信息,然后根据后端服务器集群的资源信息及不同的业务类型,计算后端服务器在各种业务类型下的负载值,选择该HTTP请求所属的业务类型中负载值最小的后端服务器处理该HTTP请求。本发明专利技术还提供了相应的NGINX服务器负载均衡系统。本发明专利技术所提供的方案,能够合理的对用户请求进行分配,使后端服务器集群的负载处于相对均衡的状态,从而起到合理利用服务器资源的目的。

【技术实现步骤摘要】
一种NGINX服务器负载均衡的实现方法及系统
本专利技术涉及计算机网络通信领域,特别涉及一种NGINX服务器负载均衡的实现方法及系统。
技术介绍
服务器集群的出现解决了海量Web并发访问问题。然而现实应用中,服务器集群往往出现负载不均衡的问题:一部分服务器高负载运行,而另一部分服务器却处于空闲。NINGX服务器作为一种高性能的负载均衡服务器在服务器集群中有着广泛的应用。其实现负载均衡的主要方法是轮询法,即均匀地选择后端服务器处理请求。而对于服务器性能有差异的情况,则可采用加权轮询的方法,使得分配服务器的比率与其权值成正比。由于请求的业务内容不同,对服务器资源的需求也不一样,考虑请求的业务类型,现有的负载均衡方法是一组服务器处理对应的一类业务。但是,当某类业务请求较多时,会造成对应的一组服务器处于高负载,而其他组的服务器则处于空闲状态。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种NGINX服务器负载均衡的实现方法及系统,通过触发式的机制动态地监测后端服务器的负载状态,结合业务类型来判断服务器处理各类业务的能力,根据服务器当前的负载状态和业务处理能力,合理地选择后端服务器处理请求,以到达负载均衡的目的。为达到上述目的,本专利技术提供如下技术方案:一种NGINX服务器负载均衡的实现方法,该方法包括以下步骤:NGINX服务器通过触发式机制更新后端服务器集群的资源信息;所述资源信息包括服务器的CPU利用率、内存利用率、磁盘I/O利用率及网络带宽利用率;所述NGINX服务器接收到客户端的HTTP请求后,采用负载均衡算法选择后端服务器处理该HTTP请求,并将服务器处理结果返回给客户端;所述负载均衡算法为根据不同的业务类型及后端服务器集群的资源信息,计算后端服务器在各种业务类型下的负载值,选择该HTTP请求所属的业务类型中负载值最小的后端服务器处理该HTTP请求。进一步,所述负载均衡算法具体包括以下步骤:根据各种业务类型对后端服务器的CPU利用率、内存利用率、磁盘I/O利用率及网络带宽利用率等资源信息配置不同的权值;计算所述后端服务器在各种业务类型中的负载均衡因子,所述负载均衡因子用于反映后端服务器Si在业务类型j中负载情况;选择HTTP请求所属的业务类型中负载均衡因子最小的后端服务器处理该HTTP请求。进一步,所述NGINX服务器通过触发式机制更新后端服务器集群的资源信息,通过以下方式实现:所述NGINX服务器向后端服务器分配请求任务后,所述NGINX服务器主动发送获取资源信息的请求,后端服务器响应该请求,NGINX服务器更新该后端服务器的资源信息和负载状况。进一步,所述NGINX服务器通过触发式机制更新后端服务器集群的资源信息,通过以下方式实现:所述后端服务器完成某请求任务后,向NGINX服务器发送当前的后端服务器的资源信息,NGINX服务器更新该后端服务器的资源信息和负载状况。进一步,所述业务类型包括计算密集型、多媒体处理型、内容传输型和数据库访问型。一种NGINX服务器负载均衡系统,包括客户端、NGINX服务器、后端服务器集群;所述客户端用于向服务器发出HTTP请求,所述HTTP请求经过负责负载均衡的NGINX服务器,再转发到后端的服务器集群;所述NGINX服务器用于接收客户端的HTTP请求,分析请求URL的业务类型,然后根据业务类型和后端服务器集群资源信息,采用负载均衡算法选择后端服务器处理该HTTP请求,并将后端服务器处理结果返回给客户端;所述后端服务器集群为性能各异的服务器,用于处理NGINX服务器分配的请求,并将处理结果返回给NGINX服务器;同时,动态地向NGINX服务器反馈自身资源信息。进一步,所述NGINX服务器包括URL分析模块、资源信息采集模块、调度算法模块;所述URL分析模块用于根据请求URL,分析HTTP请求的业务类型,:所述业务类型包括计算密集型、多媒体处理型、内容传输型和数据库访问型;所述资源信息采集模块用于动态地获取后端服务器集群的资源信息并予以保存;所述调度算法模块用于根据当前HTTP请求的业务类型及后端服务器集群的资源信息,选择后端服务器处理该HTTP请求。进一步,所述资源信息采集模块采用权利要求3或4所述的方法获取后端服务器集群的资源信息并予以保存。进一步,所述调度算法模块采用负载均衡算法选择后端服务器处理该HTTP请求,然后将服务器处理结果返回给客户端;所述负载均衡算法为根据不同的业务类型及后端服务器集群的资源信息,计算后端服务器在各种业务类型下的负载值,选择该HTTP请求所属的业务类型中负载值最小的后端服务器处理该HTTP请求。本专利技术的有益效果在于:本专利技术提供的一种NGINX服务器负载均衡的实现方法及系统,通过触发式的机制动态地监测后端服务器的实时资源信息,并采用负载均衡算法结合业务类型及后端服务器的负载状态合理地选择后端服务器处理请求,以到达负载均衡的目的。与现有技术相比具有以下优势:1.采用负载均衡算法合理地选择后端服务器,适用于后端服务器性能不同的业务系统,而无须事先给各服务器分配权值。2.后端服务器无须为按业务类型分类,避免了服务器只处理某类型业务造成的负载不均衡。3.通过触发式机制更新各后端服务器资源信息,避免了周期性收集时,周期过长信息更新不及时和周期过短增加负荷等问题。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术所述服务器负载均衡系统组织结构图;图2为本专利技术所述方法的流程图。具体实施方式下面将结合附图,对本专利技术的优选实施例进行详细的描述。本专利技术提供的一种NGINX服务器负载均衡系统,如图1所示,主要包括客户端、NGINX服务器和后端服务器集群。客户端:用户通过终端设备,向服务器发出各种HTTP请求,该请求会先经过负责负载均衡的NGINX服务器,再转发到后端的服务器集群。NGINX服务器:负责接收客户端的HTTP请求,首先分析请求URL的业务类型,然后根据业务类型和动态收集的后端服务器集群资源信息,采用负载均衡算法选择合理的后端服务器处理该HTTP请求,最后将服务器处理结果返回给客户端。后端服务器集群:由性能各异的服务器组成,负责处理NGINX服务器分配的请求,并将处理结果返回给NGINX服务器。同时,动态地向NGINX服务器反馈自身负载情况。其中,NGINX服务器为负载均衡系统最核心的部分,NGINX服务器主要包括URL分析模块、资源信息采集模块、调度算法模块。URL分析模块:该模块用于根据请求URL,分析HTTP请求的业务类型。常见的业务类型包括计算密集型、多媒体处理型、内容传输型和数据库访问型;不同类型的业务对服务器资源信息的需求也不一样。计算密集型:如电子商务类的Web业务请求,由于安全通信的需求,涉及大量的加解密操作,需要消耗大量的CPU。多媒体处理型:如需要服务器提高音频和视频的流媒体服务,需要占用服务器大量的内存和CPU资源。内容传输型:如大文件的传输请求,对服务器的带宽要求较高。数据库访问型:该类型的业务来自用户的数据库动态查询,需要服务器密集的磁盘访问,对磁盘I/O资源要求比较高。资源信息采集模块:主要用于通过触发式机制动态地采集后端服务器集群的资源信息,以及对服务器处理能力的动态预本文档来自技高网...
一种NGINX服务器负载均衡的实现方法及系统

【技术保护点】
一种NGINX服务器负载均衡的实现方法,其特征在于:该方法包括以下步骤:NGINX服务器通过触发式机制更新后端服务器集群的资源信息;所述资源信息包括服务器的CPU利用率、内存利用率、磁盘I/O利用率及网络带宽利用率;所述NGINX服务器接收到客户端的HTTP请求后,采用负载均衡算法选择后端服务器处理该HTTP请求,并将服务器处理结果返回给客户端;所述负载均衡算法为根据不同的业务类型及后端服务器集群的资源信息,计算后端服务器在各种业务类型下的负载值,选择该HTTP请求所属的业务类型中负载值最小的后端服务器处理该HTTP请求。

【技术特征摘要】
1.一种NGINX服务器负载均衡的实现方法,其特征在于:该方法包括以下步骤:NGINX服务器通过触发式机制更新后端服务器集群的资源信息;所述资源信息包括服务器的CPU利用率、内存利用率、磁盘I/O利用率及网络带宽利用率;所述NGINX服务器接收到客户端的HTTP请求后,采用负载均衡算法选择后端服务器处理该HTTP请求,并将服务器处理结果返回给客户端;所述负载均衡算法为根据不同的业务类型及后端服务器集群的资源信息,计算后端服务器在各种业务类型下的负载值,选择该HTTP请求所属的业务类型中负载值最小的后端服务器处理该HTTP请求。2.根据权利要求1所述的一种NGINX服务器负载均衡的实现方法,其特征在于:所述负载均衡算法具体包括以下步骤:根据各种业务类型对后端服务器的CPU利用率、内存利用率、磁盘I/O利用率及网络带宽利用率等资源信息配置不同的权值;计算所述后端服务器在各种业务类型中的负载均衡因子,所述负载均衡因子用于反映后端服务器Si在业务类型j中负载情况;选择HTTP请求所属的业务类型中负载均衡因子最小的后端服务器处理该HTTP请求。3.根据权利要求1或2所述的一种NGINX服务器负载均衡的实现方法,其特征在于:所述NGINX服务器通过触发式机制更新后端服务器集群的资源信息,通过以下方式实现:所述NGINX服务器向后端服务器分配请求任务后,所述NGINX服务器主动发送获取资源信息的请求,后端服务器响应该请求,NGINX服务器更新该后端服务器的资源信息和负载状况。4.根据权利要求1或2所述的一种NGINX服务器负载均衡的实现方法,其特征在于:所述NGINX服务器通过触发式机制更新后端服务器集群的资源信息,通过以下方式实现:所述后端服务器完成某请求任务后,向NGINX服务器发送当前的后端服务器的资源信息,NGINX服务器更新该后端服务器的资源信息和负载状况。5.根据权利要求1所述的一种NGINX服务器负载均...

【专利技术属性】
技术研发人员:蒋溢邹洋祝清意葛军
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1