[发明专利]一种在Nginx中基于URI的Web负载分配的方法在审
申请号: | 201811398549.5 | 申请日: | 2018-11-22 |
公开(公告)号: | CN109257449A | 公开(公告)日: | 2019-01-22 |
发明(设计)人: | 年聪 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 李洁 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 负载分配 分配表 共享内存 负载分配模块 负载分配模型 负载分配器 管理控制台 请求转发 效率问题 用户发送 用户请求 资源请求 分配器 写入 转发 查找 高层 创建 开发 | ||
本发明公开了一种在Nginx中基于URI的Web负载分配的方法,包括:步骤S100:Nginx中的管理控制台创建分配表,并将分配表写入Nginx中的共享内存中;步骤S200:用户发送资源请求,Nginx将请求发送到负载分配器,分配器根据请求的URI,生成hash值,并在所述分配表中查找hash值对应的web服务器,然后将请求转发到对应的web服务器。本发明建立了基于URI的负载分配模型,开发基于URI的Nginx负载分配模块,使得实现了根据用户请求的URI进行负载分配,结合了共享内存技术和同步Hash技术,解决了高层转发的效率问题。
技术领域
本发明涉及计算机网络技术领域,具体的说,是一种在Nginx中基于URI的Web负载分配的方法。
背景技术
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,由于Nginx处理海量连接的高效性能,国内外大型Web应用纷纷转而改用Nginx作为Web前端负载均衡服务器。Web上可用的各种资源——HTML文档、图像、视频片段、程序等,由一个通过通用资源标志符进行定位。用户的每一个请求就是对Web资源的请求。不同的资源被访问的频率不一样,各种资源消耗系统资源也不一样,资源被访问的时候就会对服务器产生负载。当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡以及转发效率的问题。
发明内容
本发明的目的在于提供一种在Nginx中基于URI的Web负载分配的方法,用于解决现有技术中服务器集群中的负载均衡问题和提高转发效率。
本发明通过下述技术方案解决上述问题:
一种在Nginx中基于URI的Web负载分配的方法,包括:
步骤S100:Nginx中的管理控制台创建分配表,并将分配表写入Nginx中的共享内存中;
步骤S200:用户发送资源请求,Nginx将请求发送到负载分配器,分配器根据请求的URI,生成hash值,并在所述分配表中查找hash值对应的web服务器,然后将请求转发到对应的web服务器。
管理控制台创建分配表,并将分配表写入Nginx中的共享内存地址内,分配表中包括URI、URI对应的hash值以及hash值对应的后端节点号。Nginx接收的每一次http请求都必须经过Nginx的负载分配器,负载分配器首先为请求的URI生成一个hash值,生成hash值采用的哈希函数与创建分配表中采用的hash函数相同。然后根据生成的hash值,在共享内存中的分配表中进行查找,如果存在,则把快速的查找分配表中该hash值对应的后端节点号;如果不存在,则将hash值与后端的节点数求余,生成一个后端节点号,最后根据查找得到或者生成的后端节点号,将请求数据包发送到相应的后端节点号的web应用服务器。根据URI进行对web请求负载的划分,结合共享内存技术和同步hash实现高速的对请求分配到后端Web应用服务器,实现负载均衡。由于计算机读写内存的速度是最快的,因此,把分配表放在共享内存里面,负载分配器直接在共享内存段寻找后端节点号,寻表效率大大提高,因此也大大提高了转发效率。
进一步地,所述步骤S100具体包括:
步骤S110:Nginx启动,声明共享内存地址段;
步骤S120:管理控制台创建临时文件分配表,对不同的URI分别采用hash函数进行计算得到对应的hash值;并将hash值与后端节点号的对应关系写入临时文件分配表;
步骤S130:将临时文件分配表注入共享内存中形成分配表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811398549.5/2.html,转载请声明来源钻瓜专利网。