在讲解Nginx之前,我们首先要理解什么是正向代理和反向代理。因为Nginx作为负载均衡的作用时,扮演的就是一个代理的角色,理解了正反向代理,对我们接下来学习Nginx会很有帮助
1.正向代理
在我们的日常生活中其实就已经使用到了正向代理,比如说有的童鞋想看YouTube上的小视频,但是国内的网是不允许连接该网段的,那么此时我们可以通过FanQiang软件来进行访问,而FanQiang软件的机制其实就是一种正向代理。
在我们使用FanQiang软件是,就是去访问一个代理服务器A,而代理服务器A拥有访问目标服务器B的能力,所以代理服务器A帮用户将请求转发至目标服务器B,并为用户显示响应结果。
整个过程用户是知道自己访问的服务来源,服务器A仅仅起到中间桥梁的作用。
一般使用正向代理需要下载一些插件,设置代理服务器等操作。
2.反向代理
反向代理和正向代理不同的是,当我们访问一个服务器A时,仅知道服务器A为我们提供了一个功能A,但实际上服务器A并没有功能A,而是内部调用了服务B的功能A,并将反馈数据取回,然后转发给用户。整个的过程对于用户而言是毫不知情的。而这台服务器A我们可以称之设置了反向代理功能。
反向代理的特点就是,对于用户而言目标服务就是代理服务器本身,对此用户无需做任何的设置,代理服务器就可以接收用户的请求,然后转发给原始服务器,将获得的内容反馈给客户端,让用户任务数据是代理服务器本身拥有的一样。
3.负载均衡
现在的大型网站,不可能只有一台服务器,也就是说不可能只在一台服务器上部署一个服务,这样是承载不了上千万的访问量的。一般互联网公司的做法就是,搭建服务器集群,也就是相同内容的服务配置在多台服务器上。那么如何协同这些机器为用户同时服务,就是负载均衡要做的事情,反向代理服务器会根据每台服务器的访问情况,将请求发送到合适的服务器,以减少访问时的压力。
负载均衡既可以使用硬件实现,也可以使用软件来实现。实现负载均衡的硬件有"F5 BIG-IP"负载均衡器、思科IOS路由器、Radware的AppDirector系列。梭子鱼等。软件实现负载均衡的有LVS、Nginx、HAproxy等。
以后的章节我们将围绕Nginx搭建负载均衡的实例讲解。
转载请注明出处:http://blog.csdn.net/acmman/article/details/78078782