最新消息:

正向代理、反向代理和CDN的区别【转载】web技术

Oneman eben 338浏览 0评论

反向代理和CDN(转载CSDN)

CDN是内容分发网络(Content Delivery Network)。是为了解决用户请求响应过慢的问题。比如用户在黑龙江,服务器在海南,用户请求的速度可能受距离、带宽的影响。CDN将几台机器分发在全国各地,用户发出的请求会选择就近的CDN服务器进行处理。CDN简单的来说就是存储一些静态文件的一台或多台服务器,通过复制,缓存主服务器等方式,将文件保存其中。

正向代理、反向代理和CDN的区别【转载】web技术-1

反向代理一般就是指Nginx,是在主服务器之外加一层代理服务器,用户的请求会发送到代理服务器上,由代理服务器请求真正的服务器,获得到结果后再将结果返回给用户。反向代理主要的用处就是会加一层安全保障,所有的请求不是直接请求主服务器,而是代理服务器,这样就保护了主服务器不受侵害。第二个用处就是代理服务器会有缓存,命中缓存的请求可以不用再请求主服务器,提高响应速度。

正向代理、反向代理和CDN的区别【转载】web技术-2

CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据;

而反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。

使用这两个技术,都是为了:一方面加快用户访问速度,另一方面也减轻了后端服务器的负载压力。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_32534441/article/details/84891668

反向代理与CDN的区别

结论:
1: 反向代理是CDN的一个环节。CDN需要各地机房建设、DNS就近分配、反向代理、数据缓存等多个环节。
2: 反向代理和CDN应用场景略有不同。

名词解释:

  • RS: Real Server 真实提供响应的服务器。

定义

  • 反向代理:
    在计算机网络中,反向代理是代理服务器的一种。服务器根据客户端的请求,从其关联的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。
  • CDN:
    CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

工作原理

反向代理:代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。

CDN: CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

异同点

  • 相同点
    • 都可以对网站达到加速的效果
    • 安全防护
      • 隐藏真实服务IP地址
      • 对攻击者例如DDos、爬虫进行过滤特殊处理
  • 不同点
    • 网页加速方式不同
      • 反向代理
        • 完全不缓存任何资料,只将http请求完整转发给后端多台服务器,由后端服务器响应并返回结果。
        • 更多情况下是通过负载均衡的方式提供加速。
      • CDN
        • 通过缓存文件的方式就近返回给用户,达到加速的效果,如果全部是动态请求,那么访问速度反而可能会增大。
    • 使用场景不同
      • 反向代理
        1. 负载均衡
        2. RS,IP一般是内网IP
      • CDN
        1. 偏向于就近响应而非负载均衡
        2. 源站IP必须是公网

问题

问题1: 在全国各地部署多个反向代理服务器,并通过DNS智能解析就近分配,这种情况下,与CDN的区别是什么?

答: 这种情况下,其实就是自己通过反向代理+智能DNS的方式自建了一套CDN系统。一般只有小公司不会这样做,成本太高,(全国各地部署服务器、自建DNS智能解析)

问题2: 反向代理作为负载均衡转发点,如何保证反向代理服务器不会被打垮?

答: 反向代理一般是7层负载均衡,如果7层服务器请求量较高,我们会通过类似LVS的方式从4层在进行一次负载。由多台反向代理服务器共同提供服务。

正向代理、反向代理和CDN的区别

一、正向代理

  • 正向代理位于客户端和源服务器之间的服务器(代理服务器)
  • 隐藏客户端:由代理服务器代替客户端去访问目标服务器,用户需要设置代理服务器的IP和端口;
  • 每一次请求是到代理服务器,代理服务器转发请求到真实服务器并获取结果返回给客户端
作用:
  1. 翻墙:绕过无法访问的结点,从另外一条路由路径进行目标服务器的访问;
  2. 缓存:数据缓存在代理服务器上,如果客户端请求的内容在缓存中则不去访问目标主机;
  3. 权限控制:防火墙授权代理服务器访问权限,客户端通过正向代理可以通过防火墙;
  4. 隐藏访问者:通过配置,目标服务器无法获取真实客户端信息,只能获取到代理服务器的信息

二、反向代理

  • 对于客户端而言,反向代理服务器像是原始服务器;
  • 隐藏真实服务器:代理服务器代替目标服务器去接受并返回客户端的请求
作用:
  1. 隐藏真实服务器:防止服务器恶意攻击等;
  2. 缓存作用:数据缓存在代理服务器上,如果客户端请求的内容在缓存中则不去访问目标主机;
  3. 负载均衡:如nginx

正向代理和反向代理的区别

重点

正向代理:代理端代理的是客户端。 反向代理:代理端代理的是服务端。

两图(来自知乎和其他网络途径)

 

正向代理、反向代理和CDN的区别【转载】web技术-1

 

 

正向代理、反向代理和CDN的区别【转载】web技术-2

 


三、CDN

全称:Content Delivery Network内容分发网络

解决问题:

  • 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和缓解(解决网络拥堵的状况);
  • 使得用户可就近取得所需内容;
  • 提高用户访问网站的速度

原理:对域名设置CNAME,CNAME指向CDN服务商,在DNS解析时使用全局负载均衡DNS解析,如可以根据地理位置信息解析对应的IP地址,使得用户能就近访问

作者:https_
链接:https://juejin.cn/post/6844903800365383687
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载请注明:落伍老站长 » 正向代理、反向代理和CDN的区别【转载】web技术

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址