负载均衡产品的企业级选型


1.1 负载均衡产品介绍

  开源集群软件:Nginx(七层负载均衡),LVS(纯四层负载均衡),Haproxy(七层和四层负载均衡),Keepalived(轻量),Heartbeat(控制VIP和资源)
  商业集群硬件:F5,Netscaler。Radware,A10等,工作模式相当于haproxy的工作模式

  当企业业务重要,技术力量薄弱,并且希望出钱购买产品及获取更好的服务时,可以选择硬件负载均衡产品,如F5,Netscaler,Radware等;
  对于门户网站来说,大多会并用软件及硬件产品来分担单一产品的风险;
  中小型互联网企业,由于起步阶段无利润可赚或者利润很低,会希望通过使用开源免费的方案来解决问题;
  商业的负载均衡产品成本高,性能高,更稳定,缺点是不能是二次开发,开源的负载均衡软件对运维人员的能力要求较高,如果运维及开发能力强,那么开源软件的负载均衡是不错的选择,目前的互联网行业更偏向使用开源的负载均衡软件。
1.2 如何选择开源集群软件产品

  中小企业互联网公司网站并发访问和总访问量不是很大的情况下,建议首选Nginx负载均衡,理由是Nginx负载均衡配置简单,使用方便,安全稳定,社区活跃,使用的人逐渐增多,曾流行趋势,另外一个实现负载均衡的类似产品为haproxy。
  如果要考虑Nginx负载均衡的高可用功能,建议首选keepalived软件,理由是安装、配置简单、使用方便、安全稳定,和keepalived服务类似的高可用软件还有heartbeat
  如果是大型企业互联网公司,负载均衡产品可以使用LVS+keepalived在前端做四层转发(一般是主备或主主,如果需要扩展可以使用DNS或前端使用OSPF),后端使用Nginx或Haproxy做7层转发(可以扩展到百台),再后面是应用服务器
  如果是数据库和存储服务的复杂均和高可用,建议选择LVS+heartbeat,LVS支持tcp转发且dr模式效率很高,heartbeat可以配合drbd,不但可以进行VIP的切换,还可以支持块设备级别的数据同步(drbd),以及资源服务的管理。

1.3 搭建负载均衡服务的需求

  1)把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理,减少用户等待响应的时间,提升用户体验
  2)单个重负载的运算分担到多台节点上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高
  3) 7*24小时的服务保证,任意一个或多个有限后面节点设备宕机,不能影响业务

1.4 反向代理与负载均衡

  Nginx仅仅是作为Nginx Proxy反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果
  负载均衡是对请求数据包的转发(也可能会改写)、传递,其中LVS的DR模式明显特征是从负载均衡下面的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户
  反向代理接收访问用户的请求后,会代理用户重新发起请求代理下的节点服务器,最后把数据返回给客户端用户,在节点服务器看来,访问的节点服务器的客户端用户就是反向代理服务器了,而非真实的网站访问用户

总结:
  LVS等负载均衡是转发用户请求的数据包,而Nginx反向代理是接收用户的请求然后重新发起请求去请求其后面的节点
补充说明:
  ngx_http_upstream_module模块用于定义服务器可以通过proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass参照组,和memcached_pass指令。

发表评论

发表评论

*

沙发空缺中,还不快抢~