Web Cache的实现

来源:互联网 发布:高中背英语单词软件 编辑:程序博客网 时间:2024/06/17 02:39

CDN将图片、视频和网页等内容存储到离用户最近的地方,实现为大量用户的就近服务,减少对源服务器和骨干网络的压力。负载均衡系统和内容管理系统都是为了更好的实现各个CDN节点协同工作。所以,CDN的本质上等于分层分布式集群Cache + 智能访问调度。根据缓存内容的不同,可以将Cache设备分为Web Cache和流媒体Cache。Web Cache服务器主要缓存静态网页等内容,也具备文件下载和流媒体服务的能力;而流媒体Cache服务器则对视频流媒体服务加速,功能相对单一。Web Cache可以在网络访问网络的多个节点实现:用户浏览器、用户端代理、服务端网关等节点。


一、正向代理

正向代理模式下,用户需要设置网络访问的代理服务器地址,代理服务器就可以作为Cache服务器。用户对网络的所有访问,都需要经过代理服务器代理完成。

  1. 用户的访问请求,先到达内网代理服务器。
  2. 代理服务器检查cache中是否缓存了用户的请求数据。如果有,则直接返回给用户。
  3. 如果没有缓存,则转发用户请求到源服务器。
  4. 源服务器响应代理服务器转发的用户请求,代理服务器则缓存响应数据,并将响应反馈给用户。

正向代理服务器在收到用户请求时,可以根据配置的策略,拦截过滤部分请求。因此正向代理可以实现访问控制和安全认证的功能。Cache设备作为出口网关提供代理服务,可以减少出口带宽。正向代理一般用户中小型企业用户。


二、反向代理

反向代理模式下,用户不需要作任何代理设置。Cache设备的IP地址,将会作为服务器域名的地址写入DNS记录,利用Cache设备的路由、交换能力完成代理访问。因此,反向代理可以对特定的内容进行加速。

  1. 用户的访问请求,经过DNS解析,直接到达外网代理服务器。
  2. 代理服务器检查cache中是否缓存了用户的请求数据。如果有,则直接返回给用户。
  3. 如果没有缓存,则转发用户请求到源服务器。
  4. 源服务器响应代理服务器转发的用户请求,代理服务器则缓存响应数据,并将响应反馈给用户。

反向代理用于服务器端,用户不需要作任何设置,完全感知不到Cache设备的存在。在反向代理模式下,如果Cache设备很多,网络规模很大时,需要部署GSLB(Global Server Load Balancing)来对全网Cache设备进行负载均衡,并对全网的内容分发策略进行设定,就形成了CDN网络的雏形。


三、透明代理

透明代理模式下,用户不需要作任何配置,也感知不到任何Cache设备的存在。可以使用支持WCCP(Web Cache Control Protocol)功能路由器或者利用4层交换机,把用户请求转发给Cache设备,由Cache对用户提供服务。这两种方式都可以支持负载均衡,可以对多台Cache按照一定规则分配流量。

  1. 用户发送访问请求。
  2. 请求被内网的透明代理截获。
  3. 透明代理检查cache中是否缓存了用户的请求数据。如果有,则直接返回给用户。
  4. 如果没有缓存,则转发用户请求到源服务器。
  5. 源服务器响应代理服务器转发的用户请求,代理服务器则缓存响应数据,并将响应反馈给用户。

透明代理可以截获用户请求,因此也可以像正向代理一样提供访问控制和安全认证的功能。透明代理模式下,Cache设备可以减少出口带宽,提高内网安全性。透明代理一般用户中小型企业用户。

0 0
原创粉丝点击