1,备选方案


- 硬件:F5,Array


- 软件:


- Nginx:


- 优点


第七层之上,针对 Http做分流策略,比如: 域名,URL,目录结构, 正则规则 比HAProxy强大


网络稳定性依赖非常小,LVS对网络依赖比较大


安装比较 简单


高负载且 稳定


端口检查服务器内部的 故障


不仅仅是 负载均衡器/反向代理软件,也是强大的 Web应用服务器


中层反向代理使用


静态网页和 图片服务器,性能很强大


- 缺点


仅支持Http,Https,Email协议


只支持后端服务器的 端口健康检测, 不支持URL


- LVS:使用 Linux内核集群实现一个高性能、高可用的 负载均衡服务器


- 优点


抗负载能力强,工作在四层仅作 分发之用,负载软件 性能最强的


- 配置性比较低


第四层,应用范围广,如:数据库,在线聊天室


- 缺点


不支持正则表达式处理


不能做 动静分离


复杂


- HAProxy


- 优点


虚拟主机


Session保持,Cookie引导,支持URL检测后端服务器状态


TCP协议负载均衡转发


2,四层和七层负载均衡


- 四层IP+端口的负载均衡。将一个Internet上合法注册的 IP地址 映射为 多个内部服务器的IP地址,对每次 TCP连接请求动态 使用其中一个内部IP地址,达到负载均衡的目的


第四层


不理解应用协议,如:HTTP/FTP/MySQL


LVS


- F5


- 七层:基于 URL等应用层信息的负载均衡。负载均衡控制应用层服务的内容,提供了一种对 访问流量的 高层控制方式,适合对 HTTP服务器群的应用。 七层负载均衡技术通过检查流经的HTTP报头,根据报头内的信息来执行负载均衡任务


第七层


- NginxHAProxyMySQL Proxy


- 优点


客户端的请求和 服务器的响应进行 任意意义上的修改,极大的 提升了应用 系统在网络层的 灵活性


HTTP400、500和600系列的 错误信息,因而能 透明地将连接请求重新定向到另一台服务器,避免应用层故障


数据类型(如判断数据包是 图像文件、压缩文件或 多媒体文件格式等),把数据流量 引向相应内容的服务器来 处理,增加系统性能


普通文本、 图象等 静态文档请求,还是 asp、cgi等的动态文档请求,把相应的请求引向 相应的服务器来处理,提高系统的性能及安全性


3,负载均衡算法


-轮循均衡(Round Robin)


-权重轮循均衡(Weighted Round Robin)


-随机均衡(Random)


-权重随机均衡(Weighted Random)


-响应速度均衡(Response Time)


-最少连接数均衡(Least Connection)


-处理能力均衡


-DNS响应均衡(Flash DNS)


4,Web负载均衡


  • 详情请参照文章“【总结】Web负载均衡”
  • HTTP重定向
  • DNS负载均衡
  • 反向代理负载均衡
  • IP负载均衡
  • 直接路由
  • IP隧道

5,方案选择


说明:


中小型的Web应用,比如日PV小于1000万:Nginx


机器不少:DNS


大型网站或重要的服务,且服务器比较多时:LVS


最终方案选择:


Nginx: Http服务,负载均衡器,反向代理


Tomcat: 应用服务器


Memcache: Session共享