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

概述

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

缓存命中率低下原因

缓存命中率低的原因

 

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

双层nginx 架构方案

双层nginx 架构

 

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

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

结论

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值