负载均衡就是把请求分发到多台服务器,不让其中某一台或几台超额工作,加强了数据处理能力,提高性能。
1 HTTP重定向负载均衡
负载均衡过程如上图:
1 请求到负载均衡服务器
2 返回304重定向到实际服务器ip到浏览器
3 然后浏览器直接请求实际的服务器
4 最后实际服务器响应到客户端浏览器
缺点:
1 请求经过两次服务器,增加了响应时间
2 暴露了实际负载的服务器ip到浏览器,安全性比较低
2 反向代理负载均衡
过程如下:
1 客户端发起请求到反向代理服务器,得到实际负载的IP(反向代理服务器此处就是负载均衡服务器)
2 反向代理服务器构造请求,请求实际负载服务器
3 实际负载服务器返回响应结果到反向代理服务器
4 反向代理服务器返回响应结果给到客户端
(比如Nginx反向代理:在生产环境,Tomcat服务器一般不单独使用在项目中,一般会通过nginx反向代理服务器,将请求转发给后端多台Tomcat服务器,从而达到负载均衡的目的。)
缺点:基于http层做的负载均衡,是一个比较重的协议,效率略低;一般适用于比较小的集群,10+规模。