在项目实施中发现,有些公司是做宣传网站或资讯类网站的,服务器均置于国内,他们对集群这 块了解的并不深,而且要求也很简单,只要求1+2架构。在初期我使用的是 Nginx作为负载均衡器,后期发现HAProxy更加稳定,而且它自带强大的监控页面功能,所以我全部换成了HAproxy作为最前端的负载均衡器了; 由于我越来越喜欢它了,在这里请允许我单独介绍其优点。
HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。
HAProxy最主要的特点是性能优越,HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy完全可以支持数以万计的并发连接。并且HAProxy的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上(即通过防火墙80端口映射的方法)。
更重要的是,HAProxy也是一款优秀的负载均衡软件,其优点如:
1.免费开源,稳定性也是非常好,这个可通过我做的一些小项目可以看出来,单Haproxy也跑得不错,稳定性可以与硬件级的F5相媲美;
2.根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom's 10GbE NICs (Myri-10G PCI-Express),这个数值作为软件级负载均衡器是相当惊人的;
3.HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的。
4.HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。
5.HAProxy现多于线上的Mysql集群环境,我们常用于它作为MySQL(读)负载均衡;
6.自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警,这个也是我非常喜欢它的原因之一;
7.HAProxy支持虚拟主机,许多朋友说它不支持虚拟主机是错误的,通过测试我们知道,HAProxy是支持虚拟主机的。
另外,提到Nginx作负载均衡器,这个由于我自己也比较喜欢它的强大的正则处理功能和其强悍的抗并发能力,所以我在自己的博客及 51cto.com上推行它的Nginx+Keepalived,并成功用此架构帮许多客户实施他们的网站,Nginx对网络的依赖性非常小,理论上只要 ping得通它就就能实现它的负载均衡能力,这一点跟LVS不一样。我去年在一家公司准备实施LVS+Keepalived时,发现它的网络环境太复杂 了,每台机器都是7、8静态路由,网络中还有二个网关,LVS实现不了转发功能;最后还是换成了Nginx+Keepalived。
现在我觉得Nginx作为最前端的负载均衡并不是一个非常理想的选择,一个大型的网站或系统的 话,可以存在多级代理,比如我们最前端可以用F5或 LVS来作为网站或系统的入口,让它们来顶外部的高并发流量,而Nginx由于其强大的正则处理能力,可以作为中层代理,一来可以作为F5/LVS的补 充,节约大量成本,这种做法也是张宴兄推荐的,架构图也很简单,即F5/LVS -->Nginx(多台)-->web集群。
大家可以看一下基于架构的好处有:
一、不需要担心单Nginx负载均衡器crash的问题,随便怎么挂都可以;
二、Nginx作为F5的补充,利用其强大的upstream模块和正则,可以轻松实现动静分离;
三、压缩可以通过nginx做,这样,后台应用服务器不管是apache、resin、lighttpd甚至iis或其他古怪服务器,都不用考虑压缩的功能问题。
四、方便的运维管理,在各种情况下可以灵活制订方案;
五、即使没有squid群组,Nginx现在可以做为优秀的反向代理加速软件了。
我现在做的项目网站,原理跟上面类似,只不过用的是LVS代替了F5,这个更节约资金了,拓朴图如下所示:
现在的负载均衡均衡技术是多样化的,我们应该根据其特点做到因地制宜,取长补短,最大限度的发挥它们的优点,将我们的网站或系统架构调优到一个新的高度。
本文出自 “抚琴煮酒” 博客,请务必保留此出处http://andrewyu.blog.51cto.com/1604432/608542
分享到:
相关推荐
《因地制宜发展农业——发展农业要因地制宜》教学设计.pdf
本资料是针对高中地理课程的一份课时评价,主要探讨了区域发展差异和因地制宜的原则...同时,还需要关注城市化进程中产生的问题,如环境质量下降、社会不均衡发展等,并思考如何实现经济、社会、人文和生态的和谐共生。
为解决南北水资源不平衡问题,我国实施了南水北调工程,体现了区域间资源互补的重要性和必要性。 5. 全球化下的区域经济特征:劳动分工专业化加速、市场开放度提升、国际贸易扩大以及区域间合作加强是当前社会生产...
总结来说,企业实施信息化需要遵循因地制宜、全员参与、经济和领导推动四大原则,同时要结合自身实际情况灵活应用。这些原则为企业的信息化建设提供了方向,帮助企业构建符合自身需求、有效提升业务效率的信息系统。...
例如,教育工作者应该因地制宜,根据学生的个体差异采取不同的教学方法;城市规划也应该因地制宜,考虑到地理、气候、人文等因素,构建和谐的城市生态环境。 在八年级上册语文课中,我们可以看到一系列的词语解释和...
在实践中,应该坚持因地制宜、优势互补的原则,发展港口经济、旅游业、渔业和新能源产业。 综上所述,无论是农业布局还是区域经济发展,都强调了要根据当地的实际情况,充分利用各种资源,实施科学合理的规划,以...
3.2 山区各县信息化建立思路:针对山区特点,提出了针对性的解决方案,可能涉及因地制宜、分步实施的策略。 3.3 山区各县信息化建立原则:明确了实施过程中的指导原则,如实用性、可持续性、经济效益等。 3.4 山区各...
2. 因地制宜,循序渐进:考虑小区实际,合理设计实施方案,逐步推进垃圾分类。 3. 完善机制,创新开展:利用志愿者力量,结合“绿色账户”等机制,提升分类效率,创造创新性解决方案。 4. 协同推进,有效衔接:与...
因地制宜治理农村生活污水.docx
历史教学中的因地制宜.doc
因地制宜的解释和造句.doc
因地制宜构建新能源示范城市.pdf
在《因地制宜发展农业》的主题中,我们深入探讨了如何根据地理、气候、土壤条件等因素来合理规划和管理农业生产,以实现可持续发展。 首先,科技兴农是现代农业发展的重要驱动力。通过运用先进的科学技术,比如改良...
【游泳】课程实施方案实施计划书主要探讨了在平阴县开展游泳课程的背景、指导思想、基本原则、组织保障、课次安排、实施对象以及课程设计等多个方面,旨在推动游泳这项有益身心的运动在学校中的普及,同时也关注学生...
因地制宜优化幼儿园户外体育活动).doc
- **因地制宜,循序渐进**:根据不同地区的条件设定实施步骤。 - **完善机制,创新发展**:利用市场机制,创新技术,提高分类效率,用信息化手段辅助管理。 - **协同推进,有效衔接**:确保垃圾分类的全过程...
每个目标都应该具体、可量化、可统计、可考核,并且要根据实际情况因地制宜,科学合理地进行设定。 三、土地利用功能分区情况 1. 划定土地利用功能分区:根据当地的土地利用规划、自然条件、经济社会发展情况和产业...
坚持因地制宜,根据医院实际情况和群众需求制定改进措施;坚持改革创新,用新的思维和方法推动服务改善;坚持质量优先,确保医疗服务质量和患者安全始终处于首位;坚持持续改进,不断追踪改进效果,持续提升服务质量...