基于Nginx的负载均衡实现方法、装置、计算机设备和介质制造方法及图纸

技术编号:19703262 阅读:15 留言:0更新日期:2018-12-08 14:29
本申请涉及一种基于Nginx的负载均衡实现方法、装置、计算机设备和存储介质。该方法包括:接收终端发送的Http请求;Http请求包含业务标识;获取业务标识初始对应的配置子文件;配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于性能指标对负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将Http请求分配至相应服务节点处理。该方法能够动态调整负载均衡策略,提高Http请求响应效率。

【技术实现步骤摘要】
基于Nginx的负载均衡实现方法、装置、计算机设备和介质
本申请涉及计算机
,特别是涉及一种基于Nginx的负载均衡实现方法、装置、计算机设备和介质。
技术介绍
随着计算机技术的发展,大量业务系统涌现,对业务系统的并发访问量也急剧增加。为了快速响应海量并发的Web(WorldWideWeb,万维网)访问请求,即Http(HyperTextTransferProtocol,超文本传输协议)请求,人们采用Nginx(enginex)等负载均衡软件将海量Http请求分流转发至不同服务器执行。Nginx接收客户端发送的Http请求,基于预设的负载均衡策略将Http请求分流转发给内部网络上的服务器集群,并将从服务器集群上得到的结果返回给客户端。Nginx本身提供了一些负载均衡策略,但大多为静态策略,难以快速响应海量并发Http请求,对Http请求响应效率造成较大影响。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够动态调整负载均衡策略,从而提高Http请求响应效率的基于Nginx的负载均衡实现方法、装置、计算机设备和介质。一种基于Nginx的负载均衡实现方法,所述方法包括:接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。在其中一个实施例中,所述获取所述业务标识对应的配置子文件之前,还包括:获取配置文件;所述配置文件记录了多个服务节点标识;获取每个服务节点标识对应的集群信息;根据所述集群信息,添加每个服务节点标识对应的业务标识;基于所述业务标识对配置文件拆分,得到每个业务标识对应的配置子文件。在其中一个实施例中,所述监测Nginx集群中各服务节点在监控时段的性能指标,包括:当接收到对所述服务节点的访问请求时,在所述访问请求中提取特征字段;根据所述特征字段生成所述访问请求对应的特征向量;将所述特征向量输入预设的安全监控模型,检测访问请求是否为风险访问;统计在监控时段检测到的风险访问的数量,根据所述数量确定相应服务节点的性能指标。在其中一个实施例中,所述监测Nginx集群中各服务节点在监控时段的性能指标,包括:在分流转发Http请求后接收网络层返回的状态码;根据所述Http状态码,统计在监控时段分配至每个服务节点且处理成功的Http请求的数量,记作请求成功数量;根据所述请求成功数量确定相应服务节点的性能指标。在其中一个实施例中,当前的配置子文件具有对应的文件标识;所述执行当前的配置子文件,使调整后的负载均衡策略生效包括:将当前的配置子文件转换为字符串;将所述文件标识及所述字符串发送至Redis服务器进行存储;在高速缓存中查找是否存在新增的文件标识;若不存在,从所述Redis服务器指定目录读取文件标识;将Redis服务器中与读取到的文件标识对应的字符串加载至内存中执行,使调整后的负载均衡策略生效。一种基于Nginx的负载均衡实现装置,所述装置包括:策略获取模块,用于接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;性能检测模块,用于监测Nginx集群中各服务节点在监控时段的性能指标;策略调整模块,用于基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;负载均衡模块,用于根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。在其中一个实施例中,所述装置还包括文件拆分模块,用于获取配置文件;所述配置文件记录了多个服务节点标识;获取每个服务节点标识对应的集群信息;根据所述集群信息,添加每个服务节点标识对应的业务标识;基于所述业务标识对配置文件拆分,得到每个业务标识对应的配置子文件。在其中一个实施例中,所述性能检测模块还用于当接收到对所述服务节点的访问请求时,在所述访问请求中提取特征字段;根据所述特征字段生成所述访问请求对应的特征向量;将所述特征向量输入预设的安全监控模型,检测访问请求是否为风险访问;统计在监控时段检测到的风险访问的数量,根据所述数量确定相应服务节点的性能指标。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。上述基于Nginx的负载均衡实现方法、装置、计算机设备和存储介质,根据终端发送的Http请求中携带的业务标识,可以获取对应的配置子文件;通过监测Nginx集群中各服务节点在监控时段的性能指标,可以基于所述性能指标对配置子文件记录的负载均衡策略进行调整,并将调整后的负载均衡策略和相应业务标识存储至数据库;基于预置的文件转换组件可以在数据库中读取新增的负载均衡策略,并将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;通过执行当前的配置子文件,即可使调整后的负载均衡策略生效,从而可以根据调整后的负载均衡策略将所述Http请求分配至相应服务节点处理。由于对Nginx集群内各服务节点的性能指标实时监测,并根据监测结果在相应业务标识对应配置子文件记录的负载均衡策略动态调整,即根据当前各服务器节点的实际处理能力调整负载均衡策略,使负载均衡策略适应性更强,从而可以提高Http请求响应效率。本文档来自技高网...

【技术保护点】
1.一种基于Nginx的负载均衡实现方法,所述方法包括:接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。

【技术特征摘要】
1.一种基于Nginx的负载均衡实现方法,所述方法包括:接收终端发送的Http请求;所述Http请求包含业务标识;获取所述业务标识初始对应的配置子文件;所述配置子文件记录对应的负载均衡策略;监测Nginx集群中各服务节点在监控时段的性能指标;基于所述性能指标对所述负载均衡策略进行调整,将调整后的负载均衡策略和相应业务标识存储至数据库;调用文件转换组件在数据库中读取新增的负载均衡策略;将读取到的负载均衡策略转换为所述业务标识当前对应的配置子文件;执行当前的配置子文件,使调整后的负载均衡策略生效;根据调整后的负载均衡策略,将所述Http请求分配至相应服务节点处理。2.根据权利要求1所述的方法,其特征在于,所述获取所述业务标识对应的配置子文件之前,还包括:获取配置文件;所述配置文件记录了多个服务节点标识;获取每个服务节点标识对应的集群信息;根据所述集群信息,添加每个服务节点标识对应的业务标识;基于所述业务标识对配置文件拆分,得到每个业务标识对应的配置子文件。3.根据权利要求1所述的方法,其特征在于,所述监测Nginx集群中各服务节点在监控时段的性能指标,包括:当接收到对所述服务节点的访问请求时,在所述访问请求中提取特征字段;根据所述特征字段生成所述访问请求对应的特征向量;将所述特征向量输入预设的安全监控模型,检测访问请求是否为风险访问;统计在监控时段检测到的风险访问的数量,根据所述数量确定相应服务节点的性能指标。4.根据权利要求1所述的方法,其特征在于,所述监测Nginx集群中各服务节点在监控时段的性能指标,包括:在分流转发Http请求后接收网络层返回的状态码;根据所述Http状态码,统计在监控时段分配至每个服务节点且处理成功的Http请求的数量,记作请求成功数量;根据所述请求成功数量确定相应服务节点的性能指标。5.根据权利要求1所述的方法,其特征在于,当前的配置子文件具有对应的文件标识;所述执行当前的配置子文件,使调整后的负载均衡策略生效包括:将当前的配置子文件转换为字符串;将所述文件标识及所述字符串发送至Redis服...

【专利技术属性】
技术研发人员:晏彬
申请(专利权)人:康键信息技术深圳有限公司
类型:发明
国别省市:广东,44

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

1