Nginx学习笔记(反向代理搭建集)
⼀、前⾔
1.1 ⼤型互联⽹架构演变历程
1.1.1 淘宝技术
淘宝的核⼼技术(国内乃⾄国际的 Top,这还是2011年的数据)nginx和网关怎么配合使用
拥有全国最⼤的分布式 Hadoop 集(云梯,2000左右节点,24000核 CPU,48000GB 内存,40PB 存储容量)全国分布 80+CDN 节点,能够⾃动寻最近的节点提供服务,⽀持流量超过800Gbps
不逊于百度的搜索引擎,对数⼗亿商品进⾏搜索,全球最⼤的电商平台
顶尖的负载均衡系统,顶尖的分布式系统,顶尖的互联⽹思想,功能多样运⾏极其稳定
丰富的⽣态产业以及先进的数据挖掘技术
……很多很多
1.1.2 淘宝技术演变
摘⾃《淘宝技术这⼗年》
1.2.3 技术发展总结1、单节点架构
2、集架构
3、集+分布式架构
1.2 代理概述
1.2.1 正向代理(Forward Proxy)
⼀般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下:
正向代理(forward)是⼀个位于客户端【⽤户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,⽤户 A 向代理服务器 Z 发送⼀个请求并指定⽬标(服务器B),然后代理服务器 Z 向服务器 B 转交请求并将获得的内容返回给客户端。客户端必须要进⾏⼀些特别的设置才能使⽤正向代理。
从上⾯的概念中,可以看出,所谓的正向代理就是代理服务器替代访问⽅【⽤户A】去访问⽬标服务器【服务器B】。
这就是正向代理的意义所在。⽽为什么要⽤代理服务器去代替访问⽅【⽤户A】去访问服务器 B 呢?这就要从代理服务器使⽤的意义说起。
使⽤正向代理服务器作⽤主要有以下⼏点:
1. 访问本⽆法访问的服务器 B,如图
我们抛除复杂的⽹络路由情节来看上图,假设图中路由器从左到右命名为 R1、R2。假设最初⽤户 A 要访问服务器 B 需要经过 R1和 R2 路由器这样⼀个路由节点,如果路由器 R1 或者路由器 R2 发⽣故
障,那么就⽆法访问服务器 B 了。但是如果⽤户 A 让代理服务器 Z 去代替⾃⼰访问服务器 B,由于代理服务器 Z 没有在路由器 R1 或 R2 节点中,⽽是通过其它的路由节点访问服务器 B,那么⽤户 A 就可以得到服务器 B 的数据了。现实中的例⼦就是 FQ。不过⾃从 VPN 技术被⼴泛应⽤外,FQ 不但使⽤了传统的正向代理技术,有的还使⽤了VPN 技术。
2. 加速访问服务器 B
这种说法⽬前不像以前那么流⾏了,主要是带宽流量的飞速发展。早期的正向代理中,很多⼈使⽤正向代理就是提速。还是如上图,假设⽤户 A 到服务器 B,经过 R1 路由器和 R2 路由器,⽽ R1 到 R2 路由器的链路是⼀个低带宽链路。⽽⽤户 A 到代理服务器Z,从代理服务器 Z 到服务器 B 都是⾼带宽链路。那么很显然就可以加速访问服务器 B 了。
3. Cache 作⽤
Cache(缓存)技术和代理服务技术是紧密联系的(不光是正向代理,反向代理也使⽤了Cache(缓存)技术。还如上图所⽰,如果在⽤户 A 访问服务器 B 某数据 D 之前,已经有⼈通过代理服务器 Z 访问过服务器 B 上得数据 D,那么代理服务器 Z 会把数据 D 保存⼀段时间,如果有⼈正好取该数据 D,那么代理服务器 Z 不再访问服务器 B,⽽把缓存的数据 D 直接发给⽤户 A。这⼀技术在Cache 中术语就叫 Cache 命中。如果有更多的像⽤户 A 的⽤户来访问代理服务器 Z,那么这些⽤户都可以直接
从代理服务器 Z 中取得数据 D,⽽不⽤千⾥迢迢的去服务器 B 下载数据了。
4. 客户端访问授权
这⽅⾯的内容现今使⽤的还是⽐较多的,例如⼀些公司采⽤ ISA SERVER 做为正向代理服务器来授权⽤户是否有权限访问互联⽹,如下图
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论