1.概念
负载均衡 建立在现有的网络结构上,提供一种廉价有效透明的方法来扩大网络设置和服务器的带宽、增加吞吐量、加强网络数据处理能力,以及提供网络的灵活性和可用性。
用得较多的负载均衡器硬件有F5 BIG-IP,软件有 LVS,Nginx及HA-Proxy 。高可用软件有 Hearbeat和keepalived 。成熟的Linux集群架构有LVX+Keepalived、Nginx+keepalived及DRBD+Hearbeat。
Nginx可以按轮询、IP_hash、URL_hash、权重等多种方法对后端的服务器执行负载均衡操作,同时还支持对后端服务器的健康检查。
2.upstream
upstream 是nginx服务器的一个重要模块,upstream模块实现在轮询在客户端ip之间实现后端的负载均衡。
3.利用Upstream实现负载均衡的几种方式
1.轮询
在http中配置upstream,在server中配置反向代理,如下:
在浏览器中访问:http://192.168.80.128/,刷新几次界面后,效果如下:
因为我是运用了两个tomcat,一个版本是7.0.75,一个是7.0.79,刷新几次界面后,可以看到跳转到不同的tomcat。
当然,可以配置多个upstream,然后配置多个 server。
2.ip_hash,可以保证session共享
在浏览器中访问:http://192.168.80.128/,不管刷新几次,依旧显示的是第一次出现的tomcat。
3.权重,weight值越大,轮询几率越高
在浏览器中访问:http://192.168.80.128/,出现端口号是8088的几率大。权重值跟请求几率成正比。
4.响应时间,响应时间最短的请求,最优先分配
5.url_hash
对相同的请求,分配的url是一样的。