cdn 可以采用正反向代理和正向代理吗 如果不能为什么

zisehuainian 的BLOG
用户名:zisehuainian
文章数:132
评论数:29
访问量:144946
注册日期:
阅读量:5863
阅读量:12276
阅读量:364310
阅读量:1059631
51CTO推荐博文
& & 研究代理服务及负载均衡服务有一段时间了,也发现了不少问题。当然我这里的问题主要集中在我所负责的网络应用环境中。& & 需求:为正向代理做负载& & 方案一:LVS+Nginx& & 方案二:LVS+Squid&&&&方案三:Squid+Squid&&&&方案四:LVS+Varnish&&&&方案五:HAProxy+Squid&&&&方案六:HAProxy+Varnish&&&&从这些方案来看,这些使我在进过一系列的实验应用及查找资料后想到。真正实验和应用过的,有方案一、方案二、方案三、方案五。从现在的技术来看,这些这些方案也是依次上升的。&&&&首先,我们需要明白几个概念。&&&&1、什么是代理?那些软件可以用来做代理?&&&&深入的就不说了,有兴趣的童鞋可以自己再细细研究。代理就是客户端Client的请求先发送到代理,代理更加自己的配置来处理,如果请求符合要求,代理Proxy就将请求发送给后端服务器Server,然后Proxy将取回的数据返回给客户端Client。代理有正向和反向之分。一般来说能代理的软件,都可以即用来做正向代理,也可以作为反向代理。现在常用的代理,都是作为反向代理,主要是对服务进行缓存的,比如支持高并发的Nginx,高缓存的Varnish等等。&&&&常见的接触比较多的代理软件有Squid、Varnish、Nginx等,网上资料也非常多,现在比较流行的CDN(CDN的全称是Content Delivery Network,即内容分发网络。)也都是使用这些软件作为缓存设备,配合智能DNS来实现的。&&&&2、什么是负载均衡?那些软件可以用来做负载均衡?&&&&负载均衡,就是负责对流量进行分担,以便减少单台设备由于流量过大而形成DDoS,从当前的技术来看,按照TCP/IP协议的分层理论来看,现有的负载均衡有基于IP层的IP负载均衡,基于TCP协议的四层负载均衡,基于应用的七层负载均衡。IP负载均衡我们在网络设备中见到的比较多,如交换机的端口聚合,路由器的等价路由等。基于TCP协议的四层负载,如LVS、HAProxy等,而七层负载均衡,如Nginx。其实作为代理的软件,自身也有一定的负载功能,通过一些算法来实现,比如rr(robin-robin)轮询模式,wlc等&&&&常见的负载均衡软件,LVS、HAProxy等。――――下面给出以下参考文档及相关软件的官方地址,如果要深入了解一个软件,一定要仔细阅读官方doc,PS:E文很重要,至少在读官方文档的时候O(∩_∩)O参考文件:四层与七层负载均衡的区别/page/188170/使用Varnish代替Squid做网站缓存加速器的详细解决方案 HAProxy负载均衡器的安装及配置/art/586.htmLVS Nginx HAProxy 优缺点http://blog.chinaunix.net/uid--id-3236257.htmlvarnish与squid的比较谈谈varnish,squid,apache,nginx缓存的对比varnish官方网站 Squid官方网站http://www.squid-cache.org/LVS官方网站http://zh.linuxvirtualserver.org/Nginx官方网站http://nginx.org/HARoxy官网网站/本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)简述负载均衡和CDN技术 - 文章 - 伯乐在线
& 简述负载均衡和CDN技术
曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维护?”,下面的回答多种多样,但总结起来就是:一个高性能的web系统需要从无数个角度去考虑他,大到服务器的布局,小到软件中某个文件的实现,甚至于某个循环内的运算如果出现不严谨都可能导致全盘崩溃。
上面提到web性能优化需要多个角度去考虑,我们无法考虑到所有的优化细节,但可以从我们已知的层面去优化,我们就先从网络层面说起。
1.网络请求路径:
————————————————————————————————————————|
(客户端输入URL定位符)→(DNS服务器寻找映射)→(进入服务器,处理数据)→(返回数据至客户端)
在这个用例中我们可以很清晰的看出网络请求到返回的过程,虽然非常抽象,但足够我们以他为基础来进行优化了。
————————————————————————————————————————|
1)负载均衡
BOSS一次给了小明好多项任务,小明发现怎么安排时间也做不完,于是乎他盯上了在旁边偷偷看电影的小强,小强突然觉得背后有一股凉气,一回头小明一脸坏笑看着他,“这几个任务交给你,晚上请你吃饭,要不然…嘿嘿嘿”,小强虽然不情愿,但是在小明的请求(要挟)下,只能服从。第二天,小明顺利的完成了任务,给小强买了袋辣条。
在计算机上负载均衡也类似如此,我们的大BOSS客户端将请求发送至服务器,然而一台服务器是无法承受很高的并发量的,我们就会将请求转发到其他服务器,当然真正的负载均衡架构并不是由一台server转发的另一台server,而在客户端与服务器端中间加入了一个负责分配请求的负载均衡硬件(软件)。
名词:DNS是客户端发送请求中一个非常重要的中转,他的作用是将用户请求的URL映射为具体的IP地址,全世界有13台根服务器,但通常为我们进行域名解析的并不是根服务器,而是直接访问我们的 LDNS(Local DNS Server),通常由网络运营商维护。
最早的负载均衡就是利用搭建本地DNS服务器实现的,实现方式简单易懂,为同一个主机名分配多个映射 ,可采用轮循,随机等方式分配请求。看上去没什么问题,但是在使用过程中会发现,如果其中一个地址down机,我们是无法及时发现的,如果有用户被分配到这个主机就会出现访问失败的状况,同时我们也无法判断每个server的负载,可能会出现,某个server几乎闲置,另外一个server负载压力极高的情况。
名词:负载均衡器(Load Balancer),负载均衡器通常作为独立的硬件置于客户端与服务器之间。
负载均衡设备拥有非常好的负载均衡性能,他拥有众多的负载均衡策略(权重,动态比率,最快模式,最小连接数等),可以保证以相对较优的方式分配请求,不过好的东西总是有代价的,那就是价格,一台负载均衡器的售价往往高达十几万甚至几十万,许多企业并不愿意为它买单。
名词:Nginx。高性能,轻量级,已经成了人们对Nginx的第一印象,Nginx可作为HTTP服务器,在处理高并发请求的时候拥有比现在主流的Apache服务器更高的性能,同时Nginx也是一个优秀的反向代理服务器。
第一次听到“反向代理”,可能有些陌生,但如果了解与之对应的正向代理就很好理解了,正向代理通常由客户端主动链接,比如我们的科学上网方式就是使用正向代理,以达到间接访问网站的目的,而反向代理在服务器端,无需主动链接,当我们访问拥有反向代理的网站时,实际访问的是其反向代理服务器,而非真正的服务器,当请求到达反向代理服务器时,反向代理服务器再将请求转发至服务器。反向代理是实现负载均衡的主流手段之一,通常使用Nginx等服务器搭建,Nginx同样拥有众多的分配策略,以保证平均分配压力。
Nginx反向代理:
BIGIP(硬件)负载均衡:
视频总在缓冲,图片各种加载不出来,几年前是再正常不过的事了,在当时大家也没觉得是回事,但把这种情况放在现在,我想人们绝对直接就小红叉了吧,那么我们如何避免这样的情况呢?这就是我要说的,内容分发网络(Content Delivery Network),简称:CDN。
CDN简单的来说就是存储一些静态文件的一台或多台服务器,通过复制,缓存等方式,将文件保存其中。
1.哪些是静态文件?
css,html,图片,媒体都属于静态文件,也就是说用户发送的请求不会影响静态文件的内容,而jsp,php等文件就不属于静态文件,因为他们的内容会因我们的请求而发生改变。
2.CDN如何实现加速?
通常情况下,我们所要的数据都是从主服务器中获取,但假如我们的主服务器在南方,而访问用户在北方,那么访问速度就会相对变慢,变慢的原因有很多,例如传输距离,运营商,带宽等等因素,而使用CDN技术的话,我们会将CDN节点分布在各地,当用户发送请求到达服务器时,服务器会根据用户的区域信息,为用户分配最近的CDN服务器。
3.CDN数据从哪里来?
复制,缓存,CDN服务器可以在用户请求后缓存文件,也可以主动抓取主服务器内容。
分布在各地的CDNS:
可能感兴趣的话题
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2016 伯乐在线正向代理& 代理请求
反向代理&& 代理服务
&用户发请求,& 服务器网关 和用户之间的服务器是 正向代理服务器,有用户的内容时直接返回给用户,没有时 代理用户请求 传到服务器网关。
位于服务器网关内,请求经正向代理服务器发送过来后,反向代理服务器根据请求,去访问真正的服务器(后面是服务器集群),并把改服务发送给用户。
用户发url请求,到网站的DNS服务器,DNS根据cname 指向智能DNS负载均衡系统,根据策略,智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户.用户向该IP节点(CDN服务器)发出请求;
5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;
6.请求结果发给用户
1.用户向浏览器输入这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;
2.网站的DNS域名解析器设置了CNAME,指向了www.,请求指向了CDN网络中的智能DNS负载均衡系统;
3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户;
4.用户向该IP节点(CDN服务器)发出请求;
5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容;
6.请求结果发给用户。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:49871次
积分:1463
积分:1463
排名:千里之外
原创:69篇
转载:198篇
评论:48条
(5)(1)(27)(78)(6)(7)(17)(26)(1)(3)(7)(8)(12)(23)(14)(4)(8)(19)(1)(1)}

我要回帖

更多关于 正向代理 反向代理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信