前言
前面讲到重定向和DNS负载均衡,这里我们将反向代理负载均衡
代理
顾名思义就是你发送一个请求,先发送给代理, 代理帮我们去请求,最后返回数据给我们,我们和实际的机器没有直接交互.
正向代理
用户A想访问服务器B, 但是可能访问不了(IP限制),所以这个时候它在请求中设置了个服务器Z, 所以请求先到服务器Z,告诉我服务器Z我要访问服务器B, 服务器Z从服务器B获取到数据返回给客户A
反向代理
原理很相识, 但是出发点却有区别, 用户根本不知道自己其实访问的是服务器B的资源,我们以为资源在反向代理服务器Z上,用户向Z发起请求, 这个时候Z在用户不知情的情况下去服务器B上获取资源然后返回给客户
区别
- 正向代理:典型的就是IE浏览器中使用代理IP,或者爬虫中使用代理IP去访问网页
- 反向代理:典型的就是将防火墙后面的服务提供给用户;负载均衡等
注: 反向代理和正向代理区别在于从用户本身的意志决定
负载均衡
- 任何对于实际服务器的HTTP请求都必须经过调度器
- 调度器必须等待实际服务器的HTTP响应,并将它反馈给用户
解释:反向代理服务器,管理了一组服务器,可以根据对应的负载均衡算法将不同的请求转发到不同的服 务器上。服务器处理完成的响应也通过代理服务器返回给用户。由于内部服务器不直接对外提供访问,因此,内部服务器地址不需要使用外部IP,而反向代理服务 器则需要配置双网卡,提供内部和对外访问的IP地址<
- 反向代理还具有存储静态数据用于缓存的功能,加速用户的请求
4.反向代理框架:Fikker、Nginx、Squid等