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

[经验分享] HAProxy-高可靠、高性能的 TCP/HTTP 负载均衡器

[复制链接]

尚未签到

发表于 2015-9-5 07:39:57 | 显示全部楼层 |阅读模式
  HAProxy是一款提供高可用性、负载均衡 以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。HAProxy最主要的特点是性能,HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy完全可以支持数以万计的并发连接。并且HAProxy的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上, 如下所示:
   DSC0000.png
haproxy-pmode
  目前HAProxy有两种主要的版本:

    • HAProxy 1.1 – 从2002年开始就服务于很多重要站点
      HAProxy1.1是最稳定可靠的版本, HAProxy1.1运行时间(uptime)已经长达几年了。HAProxy 1.1目前已经不接受新的特性,仅用于核心关键(mission-critical)的业务.  
    • HAProxy 1.2 – 主要用于大流量的站点
      HAProxy 1.2在HAProxy 1.1的基础上加入了一些新的特性, poll/epoll 的支持用以支持大量的会话(session), 客户端IPv6 应用程序cookie, hot-reconfiguration, 高级的动态流量管理, TCP keepalive, source hash, 加权负载均衡算法, 基于红黑树(rbtree)算法的调度器, 同时HAProxy 1.2还有一个很好的Web状态页面. 尽管HAProxy 1.2还在不断的发展,但是从HAProxy 1.2.8开始已经趋于稳定。

  另外, 版本HAProxy 1.3是当前最新的版本,其主要特性包括:

    • HAProxy 1.3引入了内容交换特性 : 可以根据请求(request)的任何一部分来选择一组服务器, 比如请求的 URI, Host头(header), cookie, 以及其他任何东西. 当然,对那些静态分离的站点来说,对此特性还有更多的需求。
    • HAProxy 1.3支持全透明代理 : 可以用 客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。
    • HAProxy 1.3基于树的更快的调度器 : 1.2.16以上的版本要求所有的超时都设成同样的值以支持数以万计的全速连接. 这个特性已经移植到1.2.17.
    • HAProxy 1.3支持内核TCP拼接 : 避免了内核到用户然后用户到内核端的数据拷贝, 提高了吞吐量同时又降低了CPU使用率.
    • Haproxy 1.3支持Linux L7SW 以满足在商用硬件上数Gbps的吞吐的需求。
    • HAProxy 1.3支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救了很多站点。
    • HAProxy 1.3支持细微的头部处理 : 使得编写基于header的规则更为简单,同时可以处理URI的某部分。
    • HAProxy 1.3支持快而可靠的头部处理 : 使用完全RFC2616兼容的完整性检查对一般的请求全部进行分析和索引仅仅需要不到2ms的时间。
    • HAProxy 1.3采用模块化设计 : 允许更多人加入进此项目,调试也非常简单. poller已经分离, 已经使得它们的开发简单了很多. HTTP已经从TCP分离出来了,这样增加新的七层特性变得非常简单. 其他子系统也会很快实现模块化
    • HAProxy 1.3支持投机I/O 处理 : 在一个套接字就绪前就尝试从它读取数据。poller仅推测哪个可能就绪哪个没有,尝试猜测,并且如果成功,一些开销很大的系统调用就可以省去了。如果失败,就会调用这些系统调用。已知的使用Linux epoll()已经净提升起码10%了。
    • HAProxy 1.3支持ACLs : 使用任意规则的任意组合作为某动作的执行条件。
    • HAProxy 1.3支持TCP 协议检查 : 结合ACL来对请求的任意部分进行检查,然后再进行转发。这就可以执行协议验证而不是盲目的进行转发。比如说允许SSL但拒绝SSH。
    • HAProxy 1.3支持更多的负载均衡算法 : 现在,动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现。其他算法比如Weighted Measured Response Time也很快会实现。
    • HAProxy 1.3支持和其他”免费”的负载均衡解决方案不同的是, HAproxy仅被几百或者几千的遍布全球的用户使用, 但是这些用户通常运行很大的站点, 每天有数百万的点击量和几Gbps甚至几万兆(terabytes)吞吐量。 他们需要7×24的可用性并且愿意承受免费软件解决方案的风险, 同时有这些使用技术. 通常, 这种解决方案仅配置为内部使用, 我仅在他们提供给我反馈或者需要新特性的时候才会知道.

  

运维网声明 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-109525-1-1.html 上篇帖子: 使用haproxy做负载均衡时保持客户端真实的IP 下篇帖子: 【转载】软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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