转载请说明出处:http://blog.csdn.net/cywosp/article/details/38026809
反向代理(Reverse Proxy)方式是指以代理server来接受internet上的连接请求,然后将请求转发给内部网络上的server,并将从server上得到的结果返回给internet上请求连接的client,此时代理server对外就表现为一个server,该server就可称之为代理server。因为代理server处在终于处理请求訪问的server之前,因此能够在代理server上做负载均衡。实际上,互联网中也大量的存在反向代理server提供代理功能的同一时候也提供负载均衡的功能。其工作原理例如以下图所看到的:
由上图能够推出,反向代理server,管理了一组server,能够依据相应的负载均衡算法将不同的请求转发到不同的server上。server处理完毕的响应也通过代理server返回给用户。因为内部server不直接对外提供訪问,因此,内部server地址不须要使用外部IP,而反向代理server则须要配置双网卡,提供内部和对外訪问的IP地址。
如上图,用户浏览器訪问请求的地址是114.100.20.200,反向代理server接收到请求后,依据负载均衡算法计算得到一台真实的内部server地址192.168.1.1,并将用户的请求转发到该server上,192.168.1.1处理完请求后将响应返回给反相代理server,反相代理server再将该响应的内容返回给用户。
与此同一时候,反相代理server还能够具有存储静态数据用于缓存的功能,从而加速处理用户请求,提高server处理性能,其工作原理大概例如以下图所看到的:
反向代理server转发请求处于应用层协议上,因此,也称之为应用层负载均衡。该负载均衡方案与反向代理server功能集成到了一起,部署相对简单,可是,反向代理server会处理全部的请求和响应,其性能可能将会成为整个集群的瓶颈。
注:经常使用的代理server软件有:Fikker、Nginx、Squid等
參考:
[1] http://www.baike.com/wiki/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86
[2] 《大型站点技术架构——核心原理与案例分析》