设为首页 收藏本站
查看: 856|回复: 0

[经验分享] nginx LVS Haproxy对比

[复制链接]

尚未签到

发表于 2018-11-16 11:25:46 | 显示全部楼层 |阅读模式
  现在网络中常见的的负载均衡主要分为两种:
  一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,也有类似于LVS、Nginx、HAproxy的基于Linux的开源的负载均衡策略,商用负载均衡里面NetScaler从效果上比F5的效率上更高。对于负载均衡器来说,不过商用负载均衡由于可以建立在四~七层协议之上,因此适用 面更广所以有其不可替代性,他的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用。
  另一种负载均衡的方式是通过软件:比较常见的有LVS、Nginx、HAproxy等,其中LVS是建立在四层协议上面的,而另外Nginx和HAproxy(4,7)是建立在七层协议之上的,下面分别介绍关于
  LVS的特点是:
  1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生;
  2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率;
  3、工作稳定,自身有完整的双机热备方案;
  4、无流量,保证了均衡器IO的性能不会收到大流量的影响;
  5、应用范围比较广,可以对所有应用做负载均衡;
  6、LVS需要向IDC多申请一个IP来做Visual IP,因此需要一定的网络知识,所以对操作人的要求比较高。
  Nginx的特点是:
  1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;
  2、Nginx对网络的依赖比较小;
  3、Nginx安装和配置比较简单,测试起来比较方便;
  4、也可以承担高的负载压力且稳定,一般能支撑超过1万次的并发;
  5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测;
  6、Nginx对请求的异步处理可以帮助节点服务器减轻负载;
  7、Nginx能支持http和Email,这样就在适用范围上面小很多;
  8、不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。
  HAProxy的特点是:
  1、HAProxy是工作在网络7层之上。
  2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作
  3、支持url检测后端的服务器出问题的检测会有很好的帮助。
  4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
  5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
  6、HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
  -------------------------------------------------------------------------------------------------------
  现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术:
  第一阶段:利用Nginx或者HAProxy进行单点的负载均衡,这一阶段服务器规模刚脱离开单服务器、单数据库的模式,需要一定的负载均衡,但是 仍然规模较小没有专业的维护团队来进行维护,也没有需要进行大规模的网站部署。这样利用Nginx或者HAproxy就是第一选择,此时这些东西上手快, 配置容易,在七层之上利用HTTP协议就可以。这时是第一选择
  第二阶段:随着网络服务进一步扩大,这时单点的Nginx已经不能满足,这时使用LVS或者商用F5就是首要选择,Nginx此时就作为LVS或者 F5的节点来使用,具体LVS或者F5的是选择是根据公司规模,人才以及资金能力来选择的,这里也不做详谈,但是一般来说这阶段相关人才跟不上业务的提 升,所以购买商业负载均衡已经成为了必经之路。
  第三阶段:这时网络服务已经成为主流产品,此时随着公司知名度也进一步扩展,相关人才的能力以及数量也随之提升,这时无论从开发适合自身产品的定制,以及降低成本来讲开源的LVS,已经成为首选,这时LVS会成为主流。
  最终形成比较理想的状态为:F5/LVSHaproxySquid/VarnishAppServer。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635756-1-1.html 上篇帖子: Nginx 内核参数的优化 下篇帖子: Nginx 备战-优化指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表