7.1.4 以Nginx作为负载均衡器

Nginx在作为负载均衡器的同时也是反向代理服务器,其配置语法相当简单,可以按轮询、ip_hash、url_hash、权重等多种方法对后端的服务器做负载均衡,同时还支持后端服务器的健康检查。另外,它相对于LVS来说比较有优势的一点是,由于它是基于第7层的负载均衡,是根据报头内的信息来执行负载均衡任务的,因此对网络的依赖性比较小,理论上只要ping得通就能够实现负载均衡。在国内,Nginx不仅可以作为一款性能优异的负载均衡器,同时也是一款适用于高并发环境的Web应用软件,在新浪、金山、迅雷在线等大型网站都有其相关应用。Nginx作为负载均衡器的优点如下:

·配置文件非常简单,风格跟程序一样通俗易懂。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

·成本低廉。Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万甚至几十万人民币。

·支持Rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分配到不同的后端服务器群组上。

·有内置的健康检查功能:即使Nginx Proxy后端的某台Web服务器宕机了,也不会影响前端访问。

·节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header。

·稳定性高:用于反向代理,宕机的概率微乎其微。通过跟踪一些已上线的网站和系统,我们发现在高并发的情况下,Nginx作为负载均衡器/反向代理宕机的次数几乎是零。

它的缺点是目前只支持HTTP和MAIL的负载均衡,不过我们可以取长补短,根据其支持的Rewrite重写规则和稳定性高的特点,将其应用于大型网站中间级别的负载均衡层(七层负载均衡)上,如图7-1所示。

阅读 ‧ 电子书库

图7-1 Nginx作为中层负载均衡器的拓扑图