免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach

【负载均衡大讨论,参与有礼】TCP/HTTP 负载均衡利器-- HAProxy [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 14:47 |显示全部楼层
回复 16# laputa73

1. 个人的工作或者学习中是否接触到 HAProxy,介绍对 HAProxy 的理解
很早就接触过haproxy, 曾经拿来做http的代理。它的控制功能和管理页面还是比较丰富的。
性能实测和nginx差不多。

性能应该比 nginx 好一些。这里有一篇文章,是对比 HAProxy 和 nginx 性能的。不过文章有点老了,2013 年的。
https://github.com/eucalyptus/ar ... /elb-benchmark.wiki

顺便上个图,就是文中的性能比较。

HAProxy-vs-Nginx

HAProxy-vs-Nginx


论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 14:49 |显示全部楼层
回复 30# VIP_fuck

谦虚了,内核版你发了不少高质量的帖子。

现在 C++ 搞什么。


   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 14:53 |显示全部楼层
本帖最后由 Godbach 于 2016-03-22 14:55 编辑

回复 16# laputa73

2. 使用 HAProxy 中遇到了哪些问题,以及最终如何解决
HA的官网MS不在墙里,搜起来费点劲。
资料还是太少


2013 左右被关进去的吧。当时,我还特意给 HAproxy 作者发邮件说网站总访问不了的事情,人家直接就说可能是你们墙的问题。

HAProxy 资料,我觉得重要的还是看手册,以及代码里还有一些文档。现在用 HAProxy 的,大多不涉及开发,应该还好。还有一个途径,就是给 HAproxy 的 maillist 发邮件咨询。这几年 HAProxy 的邮件列表活跃度高了一些,有几个热心的人在里面。

当然,有问题也可以及时发到论坛讨论。


4. 比较 HAProxy 和其他负载均衡软件。如果做过负载均衡方案选型,可以分享最终的选择以及原因
如果是纯的http简单LB,一般就选nginx了,毕竟简单。
有个项目要用到tcp的LB,记得说HA可以支持mysql,所以就推荐了一把。
但是遇到一个问题,HA做tcp LB时,没法单独实现源地址的双向透明化(透明代理),这个比较蛋疼。
网上搜了一下,有两种解决方案,一种走NAT,一种用bridge.
实际试了一下,感觉不太靠谱,NAT方案性能太差,bridge方案太复杂,也没找到实际可用的案例。
最后还是换成了LVS.


单独实现原地址的双向透明化,这个是指的是什么。TCP transparent 吗?

论坛徽章:
12
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之同曦
日期:2017-03-17 19:13:162016科比退役纪念章
日期:2016-11-07 08:28:12luobin
日期:2016-06-17 17:46:36wusuopu
日期:2016-06-17 17:43:4515-16赛季CBA联赛之福建
日期:2016-01-14 12:49:22程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:002015年亚洲杯之科威特
日期:2015-03-24 14:21:272015年迎新春徽章
日期:2015-03-04 09:57:092016科比退役纪念章
日期:2018-04-10 16:20:18
发表于 2016-03-22 14:54 |显示全部楼层
回复 32# Godbach


    god谬赞了

    这几年走了点弯路,现在依然不温不火,做的小系统基本职能叫做工具。。。惭愧

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 15:15 |显示全部楼层
回复 34# VIP_fuck

有空多上来交流啊。


   

论坛徽章:
12
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之同曦
日期:2017-03-17 19:13:162016科比退役纪念章
日期:2016-11-07 08:28:12luobin
日期:2016-06-17 17:46:36wusuopu
日期:2016-06-17 17:43:4515-16赛季CBA联赛之福建
日期:2016-01-14 12:49:22程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:002015年亚洲杯之科威特
日期:2015-03-24 14:21:272015年迎新春徽章
日期:2015-03-04 09:57:092016科比退役纪念章
日期:2018-04-10 16:20:18
发表于 2016-03-22 15:23 |显示全部楼层
回复 35# Godbach


    必须的必

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
发表于 2016-03-22 15:45 |显示全部楼层
回复 33# Godbach


    就是tcp的全透明代理。
   具体问题:
   1.要解决客户端源地址可以送到服务器。http协议是通过head来解决的。
   配合tproxy可以保证客户端源地址被正确送到后端的服务器。
   这个可以解决相当一部分的需求。

   2. 服务器的返回结果,目的地址是客户端地址。这样报文虽然可以送达客户端。
    但是因为源地址和客户端请求的地址(haproxy vip)不一致,会被我们的客户端丢弃。
    这个就不好解决了。
     

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 22:22 |显示全部楼层
回复 37# laputa73

    就是tcp的全透明代理。
   具体问题:
   1.要解决客户端源地址可以送到服务器。http协议是通过head来解决的。
   配合tproxy可以保证客户端源地址被正确送到后端的服务器。
   这个可以解决相当一部分的需求。

HAProxy 支持透明代理,通过 source 配置即可。
当然,开启透明代理也是需要系统支持的。

source 配置可以让 HAProxy 以client IP 和后端 real server 建连的时候。这样,对于后端 real server,看到的 TCP 建连就是 client IP。而不需要去在 HTTP header 上添加。
2. 服务器的返回结果,目的地址是客户端地址。这样报文虽然可以送达客户端。
    但是因为源地址和客户端请求的地址(haproxy vip)不一致,会被我们的客户端丢弃。
    这个就不好解决了。


这里需要特别设置,就是 real  server 应该配置特别的路由,保证 real server 的回报都可以回到 HAProxy 上。这样还是由 HAProxy reply 给 client 了。只是让 realserver 认为是 client 向它建连的。




   

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2016-03-22 22:24 |显示全部楼层
回复 37# laputa73

这篇文章就是讲述在 HAProxy 上如何使用 transparent。基本上就是这个方式,你一看应该会明白的。

http://blog.haproxy.com/2013/09/ ... loha-load-balancer/


   

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
发表于 2016-03-22 23:17 |显示全部楼层
顶起来先!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP