searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种基于Nginx的热点数据调度处理方法

2023-08-02 09:08:45
10
0

一、应用场景

    基于Nginx的热点数据调度处理,热点节点数据负载均衡处理,减少热点节点压力,提高处理和访问效率;每一个节点的nginx服务接收大量的访问,但是每个节点处理请求都有一个峰值,当请求数达到峰值时,后续请求的处理效率就会有一定的下降,为了保证请求能及时处理,热点节点会触发请求调度策略,转发请求到非热点节点进行处理,若无非热点节点,则触发分布式节点策略,备机节点会启动Nginx服务处理,并接收热点节点转发过来的请求,从而提升访问及处理效率。

二、解决的问题

    解决大量http请求同一个Nginx节点繁忙的问题,做到快速响应。 解决Nginx集群每个节点超负荷接收请求的问题,自动触发分布式策略处理。 解决现有实现方案可能存在的单点失效、配置不灵活的问题。 

三、部署流程图

1、客户端:用户通过客户端发起HTTP请求。

2、Nginx主机:负责接收客户端 的HTTP请求。

3、Nginx备机:等待被Agent唤 醒的空闲Nginx节点。

4、Agent代理主机:负责和Nginx节点服务进行交互,包括启动空闲Nginx备机、注销Nginx节点服务等。

5、Agent代理备机:作为Agent主机的备用机器,Agent主机宕机的时候,会自动启动备机作为主机,然后发出告警。

6、Redis缓存:存放策略配置以及主机IP访问量等信息。

三、主要流程图

主要流程如下:

    Nginx服务接收到客户端HTTP请求之后,先读取redis中该请求IP的总访问量,判断如果达到配置策略的峰值,则需要获取峰值策略判断,如果配置的是控制访问策略,则拒绝该IP的请求;如果配置的是非热点访问策略,则通知Agent转发到非热点Nginx节点;如果全部Nginx节点都达到峰值,则请求Agent发送到备用的Nginx节点上。

0条评论
0 / 1000