注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

逍遥子 曰:

得失失得 何必患得患失 舍得得舍 不妨不舍不得

 
 
 

日志

 
 

[原]正向代理和反向代理  

2016-12-19 17:58:54|  分类: 架构设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.       正向代理,代理客户端发送请求,例如,我们局域网内的所有主机都不能上网,但是该局域网内有一台双网卡主机A能访问外网,这时可以在双网卡主机A上启动代理服务,在局域网内其他想访问外网的主机上配置代理服务,这样它们就可以上网了;因为这些原本无法访问外网的主机会先将上网请求发送到代理服务器A上,由代理服务A替它们访问相应的外网资源,并将请求到的网络资源返回给请求用户;对于服务端而言,它只能看到代理服务器,并不知道实际的请求来自于该局域网内的哪个主机;

[原]正向代理和反向代理 - 逍遥子 - 逍遥子 曰:

 正向代理示意图

正向代理的作用:

(1)       代替本机完成它本不能完成的任务,例如上面所举的上网例子;

(2)       加速访问速度,缩短响应时间,这有以下两种实现方式:

[1] 代理服务缓存常用的请求和结果,当客户端有常用请求发过来时,代理服务直接将缓存的结果返回给用户,而不用再将请求发送到服务端,从而可以提升用户访问速度,缩短访问时间;

[2] 避免低效路由,当客户端直接访问服务端要经历一个低速网段,而客户端到代理服务、代理服务到服务器端都是高速网络时,这种方法就起作用了,通常代理服务都是经过设计、优化,它访问外网的速度一般都比较快;我们经常上网时(尤其是翻墙时)配置的不同的代理,访问的速度就不一样,也是类似道理;

(3)       隐藏访问者行踪,由于代理访问代替其后面的实际用户发起网络请求,因此,请求对应服务端只能看到代理服务器,而看不到它背后的实际访问者,从而达到隐藏访问者行踪的目的。

2.           反向代理,主要用于代理服务端接收客户端的访问请求,它是服务端设计时采用的一种技术,它能帮助服务端提升访问请求速度和系统整体扩展能力,并能隐藏业务服务器,在一定程度上提升整个系统的安全性;例如:在互联网服务端架构设计时采用的Nginx就是一个常用的反向代理服务。在反向代理服务中,所有的客户端网络请求都先发送到反向代理服务器上,而反向代理服务再将请求转交到实际的业务处理服务;对于客户端而言,它只知道反向代理服务器,并不知道反向代理服务后面的情况。

[原]正向代理和反向代理 - 逍遥子 - 逍遥子 曰:

 反向代理服务示意图

反向代理服务可以有很多工作模式:

(1)       缓存加速,反向代理服务缓存常用的客户端请求和结果,当客户端有请求过来时,首先在缓存中查找结果,如果找到则将结果直接返回给客户端,如果找不到再将请求转交到相应业务服务器;这样一方面可以加快客户端的访问速度、缩短相应时间(缓存命中时),同时还能减轻业务服务的处理压力。

(2)       负载均衡方式,反向代理服务将请求按照负载均衡算法分散到多个业务处理实例上,以减轻每个业务服务实例的压力,这时要求业务服务必须是无状态,这种方式能增加整个服务端的扩展能力;

  评论这张
 
阅读(146)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017