构建高性能的web站点学习笔记六------反向代理缓存

Web代理服务器的职责是:用来接收浏览器发送的请求,并将请求转发给真正的web服务器(其实就是存放请求资源的web服务器),然后接收web服务器返回来的内容并交给浏览器。

传统代理

代理服务器以前通常用来访问互联网的web站点,现在的浏览器也都有设置代理服务器的选项,包括QQ了飞信之类的,只要局域网中有一台机子可以连外网,局域网中的计算机都可以使用它作为代理服务器进行上网,当然这需要一些配置,配置问题不是我们今天讨论的内容,有兴趣同学可以自己配置一下

反向代理

“反向”,为什么叫做反向代理呢?

我们先分析一下传统代理,局域网中的计算机通过代理服务器访问web服务器,假如局域网中有20台机器都用该代理,那么对于web服务器来说都是同一台主机发送过来的请求,这样局域网中用户计算机对web服务器是透明的代理服务器是在客户端

反向代理服务器呢?我们看一下反向代理服务器的工作流程,

只有传统代理: (浏览器<---->传统代理服务器(在客户端哦))<----->web服务器      注我用括号括起来代表他们是一家的,<----->代表二者可以互相传输数据。

只有反向代理: 浏览器<---->(反向代理服务器(在服务器端)<----->web服务器   )

既有反向代理也有传统代理 : (浏览器<---->传统代理服务器)<---->(反向代理服务器<----->web服务器   )  我们通常将后者web服务器成为后端服务器

上面看来 反向代理服务器对用户浏览器透明,代理服务器在服务器端,有web站点的所有者负责配置或找人配置

 

由上面描述如果使用反向代理,我们知道用户浏览器首先访问的代理服务器,真正的数据放在后端的web服务器中,这样的话代理服务器就可以将web服务器反馈的数据给缓存起来,这样用户就下次请求的时候就不用再向web服务器端请求数据,我们一般以apache,Ngix等作为后端web服务器,代理服务器一般使用Varnish,关于反向代理服务器的配置,这里就不在详述。

反向代理缓存是否可以取代web服务器的动态内容缓存?

这要根据具体情况了,加入你发现他们二者的工作内容相同,那么你可以完全替换掉web动态内容缓存,但是下面几种情况完全可以让两者和睦相处,形成多级缓存。

 例如:如果我们站点访问量特别大,我们可能引入多台代理服务器(负载均衡的内容,没了解过的可以看一下我的关于负载均衡的笔记),则每台代理服务器第一次被请求或者缓存过期,都需要向web服务器获取数据,如果web服务器中有动态内容缓存,很好直接就返回了,否则就需要重新计算,假如我们的代理服务器较多,那么web服务器会重复这样的工作,如果我们使用动态内容缓存,那么性能提高一定很可观。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值