2012年(3)
(45)
分类: 系统运维
2011-12-15 11:05:36
细数下来,算是东莞的项目的话,haproxy keepalived我差不多也有三套在线上跑了,另外,这套web方案也是我的一拍网的备份方案之一,目前也在测试,如果速度和稳定性够强劲的话,我也考虑将lvs keepalived换成haproxy keepalived,关于haproxy的语法和安装步骤请参考我的专题系列文章,另外,此篇文章跟刘天斯的不一样,我主要用其作为web级别的负载均衡(七层应用)。
一、线上跑的haproxy配置文件,代码如下:
二、haproxy的启动、关闭和重启脚本,代码如下:
三、haproxy的监控脚本我没有做,这个实施起来也简单,我们可以用curl -s --head | awk '/http/ {print $2}'的方法,判断是否返回了正常的200代码。
四、加上日志支持,代码如下:
五、大家需要注意的几个地方是:
1)haproyx采用的是balance source机制,它跟nginx的ip_hash机制原理类似,是让客户机访问时始终访问后端的某一台真实的web服务器,这样让session就固定下来了;
2)option httpchk head /index.jsp http/1.0 是网页监控,如果haproxy检测不到web的根目录下没有index.jsp,就会产生503报错。
3)有网友说haproxy必须采用listen 203.93.236.141:80这样类似的格式,这样其实不好,做集群时会导致从机启动不了,我们可以用bind *:80的方式代替。
4)haproxy的并发监控和日志收集分析是下一步考虑的事情。