免费注册 查看新帖 |

Chinaunix

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

海量运维常用技术之----HAProxy网站负载均衡应用(获奖名单已公布-9-11) [复制链接]

论坛徽章:
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
发表于 2013-07-15 14:41 |显示全部楼层
回复 82# Purple_Grape

haproxy 的 ROADMAP 里面有 cache 的计划


   

论坛徽章:
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
发表于 2013-07-15 14:44 |显示全部楼层
回复 86# HonestQiao

b. 复杂的,你可以这么配置:
haproxy1.4以及以上版本:stats socket    /tmp/haproxy.socket mode 0777 level admin
命令:echo 'show stats' | socat stdio unix-connect:/tmp/haproxy.socket
c. 好了,你可以通过指令来查看haproxy的状态了,甚至,你可以通过指令来控制某个server的状态了。

是的,通过Unix Domain Socket,可以方便的获取很多统计及状态信息。

当前已经支持通过这种方式 disable server 之类的功能。若加以一些增量开发,动态 add/del server 都不难的。


   

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2013-07-15 17:19 |显示全部楼层
Godbach 发表于 2013-07-15 14:44
回复 86# HonestQiao


动态增减估计还需要较长时间,这个时候就涉及到对先有配置的处理工作,否则加了,重启了,就没了,就悲剧了。

我这边目前通过程序来控制配置文件后和socket进行处理

论坛徽章:
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
发表于 2013-07-15 22:45 |显示全部楼层
回复 93# HonestQiao

动态增减估计还需要较长时间,这个时候就涉及到对先有配置的处理工作,否则加了,重启了,就没了,就悲剧了。

是的,如果只是动态的添加,存在重启后的问题。

不过这个处理起来不麻烦,就是你动态添加的这个动作,在重启时能够直接添加到配置文件中就可以了。

我这边目前通过程序来控制配置文件后和socket进行处理

乔帮主的意思是配置文件也是通过程序生成吗。 你的 socket 一般涉及到动态更改配置吗,还是主要读取 haproxy 的状态机统计信息。

此外,haproxy 提供了多种 lb 算法,你们实际中用哪种呢。同问 @csuduan
   

论坛徽章:
31
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
发表于 2013-07-15 22:48 |显示全部楼层
HAProxy可以关注。

论坛徽章:
0
发表于 2013-07-16 08:01 |显示全部楼层
回复 94# Godbach

主要用roundrobin source  leastconn  
leastconn是用的最多的,source在需要会话保持的情况下会使用,roundrobin请求场景比较复杂就会直接用轮询


   

论坛徽章:
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
发表于 2013-07-16 09:39 |显示全部楼层
回复 96# csuduan
呵呵,几种常用的算法都用了。

对了,你的配置中,是使用的 haproxy 的 tunnel 模式还是 transcation 模式。

tunnel 模式就是只处理 TCP 连接的第一个请求,其余的都直接 forward,client 端的一个连接对应到 server 上也是一个连接。

transcation 模式就是前端的一个 HTTP request, server 上就会有一个对应的连接。这样,前端长连接的情况下, 一个长连接上的多个 HTTP 请求会被分发到不同的 server 上。

   

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
发表于 2013-07-16 16:14 |显示全部楼层
以前我们几个项目都是用了nginx+keepalived,后来测试了haproxy发现比nginx性能要强一点,现在准备换成haproxy+keepalived为什么不用heartbeat
因为heartbeat 要用心跳线,而keepalived切换用的vrrp协议,要比heartbeat切换速度快;
还有keepalived可以配置主主模式,所以建议用keepalived做双机热备。

论坛徽章:
0
发表于 2013-07-16 16:48 |显示全部楼层
回复 97# Godbach
这个我倒从没有指定过。默认的是tunnel 吧?看来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
发表于 2013-07-16 17:07 |显示全部楼层
回复 99# csuduan
这个也在于配置,如果没有使用 http-server-close 之类的配置,应该是 tunnel 模式


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP