1、负载均衡原理系统的扩展可分为纵向扩展和横向扩展。纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题横向扩展,通过添加机器来满足大型网站服务的处理能力。比如:增加两台或者多台机器,共同承担访问压力:应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。(一种把网络请求分散到一个服务器集群中的可用服务器上去的设备)负载均衡的作用:1.解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力);2.提供故障转移,实现高可用;3.通过添加或减少服务器数量,提供网站伸缩性(扩展性);4.安全防护;(负载均衡设备上做一些过滤,黑白名单等处理)
2、负载均衡分类DNS负载均衡、IP负载均衡、链路层负载均衡、混合型负载均衡
3、下面介绍使用Nginx反向代理和负载均衡nginx 的 upstream目前支持 4 种方式的分配1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。2)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3)、fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 4)、url_hash(第三方)
4、前期准备:多台服务器、安装Nginx
5、主要节点配置:配置负载均衡节点IP绑定ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 当使用该策略时,不使用weight,backup。upstream backserver {ip_hash;server 192.168.1.133:80;server 192.168.1.134:80;}2、fair,按后端服务器的响应时间来分配请求,响应时间短的优先分配。需下载模块,upstream_fair.upstream backserver {server 192.168.1.133:80;server 192.168.1.134:80;fair;}
6、参考配置:http://www.nginx.cn/doc/ 中文官方网站,有详细的配置解决方案