对于数据流量过大的网络中,每每单一设备没法承担,须要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。linux
目前有许多不一样的负载均衡技术用以知足不一样的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。算法
咱们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里就简单介绍下这两种技术:服务器
a、软件负载均衡解决方案网络
在一台服务器的操做系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(咱们管理系统平台使用的也是这款均衡器)。它的优势是基于特定环境、配置简单、使用灵活、成本低廉,能够知足大部分的负载均衡需求。并发
1、什么是Nginx负载均衡
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 能够说Nginx 是目前使用最为普遍的HTTP软负载均衡器,其将源代码以类BSD许可证的形式发布(商业友好),同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。异步
2、Nginx的功能特色性能
一、工做在网络的7层之上,能够针对http应用作一些分流的策略,好比针对域名、目录结构;测试
二、Nginx对网络的依赖比较小;网站
三、Nginx安装和配置比较简单,测试起来比较方便;
四、也能够承担高的负载压力且稳定,通常能支撑超过1万次的并发;
五、Nginx能够经过端口检测到服务器内部的故障,好比根据服务器处理网页返回的状态码、超时等等,www.linuxidc.com 而且会把返回错误的请求从新提交到另外一个节点,不过其中缺点就是不支持url来检测;
六、Nginx对请求的异步处理能够帮助节点服务器减轻负载;
七、Nginx能支持http和Email,这样就在适用范围上面小不少;
八、不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。
3、Nginx的原理
Nginx采用的是反向代理技术,代理服务器来接受internet上的链接请求,而后将请求转发给内部网络上的服务器,并将从服务器上获得的结果返回给internet上请求链接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把未来自internet上的链接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。