概述

一般情况下会部署多个nginx,在里面都会放一些缓存,但是命中率比较低。因此,会采用分发层与应用层的双层nginx架构方案。

缓存命中率低下原因

双层nginx解决缓存命中率低的问题

缓存命中率低的原因

 

上图已经很清楚的描述了nginx 缓存命中率低下的原因,为了解决这个问题,采用相同的id 路由到相同的nginx 服务器中就可以了。

双层nginx 架构方案

双层nginx解决缓存命中率低的问题

双层nginx 架构

 

上图描述了双层nginx 架构:分发层与应用层。
最前端的nginx服务器,被称之为分发服务器;后端的nginx服务器,就称之为应用服务器。

  • 分发层 nginx服务器
    负责流量分发的逻辑和策略,这个里面它可以根据你自己定义的一些规则, 比如根据Id去进行 hash,然后对后端的 nginx 数量取模,将某一个请求的访问, 固定路由到一个 nginx 后端服务器上去。
  • 应用层 nginx 服务器
    负责数据缓存。通过上面的路由保证只会从 redis 中获取一次缓存数据, 这样后面全都是走 nginx 本地缓存了。

结论

在实际的生产环境中,可以大幅度提升nginx本地缓存命中率,减少redis后端的压力,大量提升服务性能。

相关文章:

  • 2022-12-23
  • 2021-08-23
  • 2021-12-22
  • 2022-02-17
  • 2021-07-09
  • 2021-12-16
  • 2021-06-07
猜你喜欢
  • 2021-10-29
  • 2021-09-18
  • 2021-10-23
  • 2022-02-02
  • 2022-12-23
  • 2021-05-29
相关资源
相似解决方案